【问题标题】:Stata: storing Beta estimates in a matrix and then displaying matrix in Word or Excel documentStata:将 Beta 估计值存储在矩阵中,然后在 Word 或 Excel 文档中显示矩阵
【发布时间】:2014-04-30 10:49:36
【问题描述】:

我在网上做了一些研究,结合使用 estouttabstat 似乎是这里的方法。

我正在运行以下回归

reg subject inSchool#treatment#male

我需要输出显示以下内容

测试版都指的是女性,不是在学校,而是在对照组,因此是_cons 标签。

将输出存储在矩阵中是实现此显示的最佳方式吗?我该怎么做?

【问题讨论】:

  • 简短的回答是否定的。 Stata 的矩阵,就像我知道的任何软件中的矩阵一样,每个单元格中只包含一个数字元素,并且不允许行或列的层次结构。这个问题可以说过于宽泛,并且不符合“要求代码的问题必须证明对正在解决的问题的最低限度的理解。包括尝试的解决方案、它们为什么不起作用以及预期的结果”stackoverflow.com/help/on-topic
  • 这个问题出现 (a) 太宽泛(Stata 中格式化表格输出的讨论范围太大) (b) 作为代码请求的主题外,但没有尝试显示什么 OP试过了。
  • 我很抱歉。我已经发布了另一个问题,该问题更具体地涉及我所面临的实际编程挑战。我从来都不是一个优秀的程序员,但我在一所高中任教,该高中对学生进行了一项有趣的研究,他们希望有人分析结果。
  • Statalist 是另一个可能的论坛。一些在这里回答问题的 Stata 用户也很活跃。但是,针对复杂问题要求提供完整代码解决方案(或看似这样做)的帖子可能在任何论坛上都不太受欢迎。

标签: matrix statistics regression stata


【解决方案1】:

Nick 说得对,这个问题太含糊了,但这应该足以让你知道,这样你就可以提出具体的、可回答的问题(仅仅因为你是一名教师 :))。

您正在寻找的用于轻松制作漂亮表格的命令是eststo,它是estout 的一部分(使用ssc install estout 安装此软件包)。下面我用eststo 存储每个回归输出,并用, title() 分配一个模型标题,然后用esttab, mtitle 包含这些模型标题。在estout 中,至少有 1,000 个问题足够多的功能和选项。但这应该可以帮助您开始并找出您有这 1,000 多个问题中的哪一个。

* I don't understand your data structure, but here's a guess
clear
set obs 2001
generate score = 60 + (100 - 60)*runiform()
generate subject = floor(3 * runiform()) + 1
generate inSchool = floor(2 * runiform())
generate treatment = floor(2 * runiform())
generate male = floor(2 * runiform())

* label 
label define subjects 1 "Math" 2 "Science" 3 "English"
label define males 0 "Female" 1 "Male" 
label define treatments 0 "Control" 1 "Treatment" 
label value subject subjects
label value male males
label value treatment treatments

* loop over combinations
* ssc install esttab
eststo clear
levelsof subject, local(subjects)
forvalues t =0/1 {
    forvalues m = 0/1 {
        foreach s of local subjects {
            * help extended_fcn
            local ss: label subjects `s'        
            local tt: label treatments `t'        
            local mm: label males `m'        
            regress score inSchool ///
                if (subject == `s') ///
                    & (treatment == `t') ///
                    & (male == `m')
            * help eststo        
            eststo, title("`tt', `mm', `ss'")        
        }
    }
}
* to screen
esttab, mtitle
* to files
esttab using "temp.rtf", mtitle
esttab using "temp.csv", mtitle

我想我应该补充一点,这种类型的回归通常是内生的,除非你真的随机分配了治疗变量。

【讨论】:

  • 这太棒了谢谢!例子很有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多