对于回归输出,我通常使用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)
我已尝试esttab
和estpost
无济于事。我还查看了tabstat
,tablemat
和summarize
作为table
的替代方案,但他们不允许三个by variables
。
如何创建此表格,为ttest
和signtest
p值添加星标并输出完整的表格?
答案 0 :(得分:2)
您问题中的要点似乎是制作一个LaTeX表。但是,您显示"伪代码",看起来非常像Stata代码,但需要注意的是它是非法的。
特别是对于ttest
,by()
选项中只能有一个变量。但请注意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 by
,help egen
(组功能),help estout
和help saved results
。