【问题进一步阐释】
1. 为什么想要保存、一次性输出呢?
--- 因为我的每个clogit model做回归要至少10 min,而很多回归都是探索性的,不一定会出现在最后的表格中,所以如果是每做一个model就直接输出到latex中的话,很多列是多余的,而latex又不能直接把一列删除,所以最后制表的时候需要把用到的回归模型再重新跑一遍,就会做很多重复性工作,花额外的时间。
---所以理想中的思路是每做完一个回归,就把所有回归结果以及fit指标都保存下来,尝试过很多模型之后,再把需要的模型的结果输出到latex中。
【已有的尝试】
1. 使用estadd scalar来添加AIC,然后用est store保存,最后用outreg2输出到latex中。具体代码如下:
- clogit dummy_y x1 x2, group(x3) vce(r)
- estat ic
- ret list
- mat list r(S)
- mat S = r(S)
- estadd scalar bic = S[1,6]
- est store basic
- clogit dummy_y x1 x2 x3, group(x3) vce(r)
- estat ic
- ret list
- mat list r(S)
- mat S = r(S)
- estadd scalar aic = S[1,5]
- estadd scalar bic = S[1,6]
- est store basic2
- estout basic basic2, stats(aic bic) #这一步是将结果和AIC, BIC的值输出到stata的window中
- outreg2 [basic basic2] using test1, addstat(AIC, e(aic), BIC, e(bic)) tex replace # 这一步是将结果和AIC,BIC的值输出到latex
---起初我认为是store的数据有问题,可是使用estout输出到stata窗口的结果是正确的,也就是说store的数据是没问题,但是用outreg2 , addstat tex这里可能是有问题的。
2. 其他尝试:使用estadd fitstat,但是在clogit后面用老是出错
3. 还有一种方式是从latex软件着手?例如使用Lyx可以直接删除表格的某列?
不知道大家有没有好的办法呀?不想做太多重复性工作。。。。
感谢,撒花~


雷达卡



京公网安备 11010802022788号







