Stata:将Beta估计值存储在矩阵中,然后在Word或Excel文档中显示矩阵

时间:2014-03-23 02:36:31

标签: matrix statistics regression stata

我在网上进行了一些研究,并使用estouttabstat的组合似乎是去这里的方式。

我正在运行以下回归

reg subject inSchool#treatment#male

我需要输出显示以下内容

enter image description here

测试版都是指女性,而不是学校,以及对照组中的_cons标签。

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

1 个答案:

答案 0 :(得分:3)

尼克是正确的,这个问题太模糊了,但这应该足以告诉你,你可以提出具体的,可回答的问题(仅仅因为你是老师:)。

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

* 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

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