Stata:将表命令与ttest和输出乳胶组合在一起

时间:2014-05-18 16:28:25

标签: stata

对于回归输出,我通常使用eststo组合来存储估算,estadd添加R2和其他测试,然后estab输出批次。

我需要对table命令执行相同的操作。我需要三个by variables的变量的均值,中位数和N,并且想要在均值上添加星号= = 1并且在中位数上使用signtest == 1。我有三个by variables,所以我一直在使用table来整理平均值,中位数和N,我称之为下面的伪代码:

sysuse auto,clear
table foreign rep78 , ///
    contents(mean price median price n price) format(%9.2f)
ttest price==1, by(foreign rep78)
signtest price=1, by(foreign rep78)

我已尝试esttabestpost无济于事。我还查看了tabstattablematsummarize作为table的替代方案,但他们不允许三个by variables

如何创建此表格,为ttestsigntest p值添加星标并输出完整的表格?

1 个答案:

答案 0 :(得分:2)

您问题中的要点似乎是制作一个LaTeX表。但是,您显示"伪代码",看起来非常像Stata代码,但需要注意的是它是非法的。

特别是对于ttestby()选项中只能有一个变量。但请注意ttest允许 by:前缀(事实上你可以使用两者)。他们的理由是不同的。另一方面,signtest 允许by()选项,但它允许by:前缀。所以你应该在创建表之前澄清你想要做什么

如果您尝试在两种情况下都使用by:前缀,然后生成表格,则可以创建分组变量,并将命令放在循环中。通过这种方式,您可以尝试使用ESTOUT模块(由Ben Jann在SSC中)为每个组制作保存的结果。类似的东西:

*clear all
set more off

sysuse auto
keep price foreign rep78

* create group variable
egen grou = group(foreign rep78)

* tests by group
forvalues i = 1/8 {
    ttest price == 1 if grou == `i'
    signtest price = 1 if grou == `i'

    *<complete with estout syntax>
}

请参阅help byhelp egen功能),help estouthelp saved results