我正在使用Stata命令esttab將一些製表輸出轉換爲Latex形式。我想在表格最後一行的每列中包含觀察總數。我遇到過使用keep
子選項blist
的問題。有時保持按預期執行。有時它什麼都不做。使用esttab時,爲什麼keep()子選項不適用於所有變量?
我在statalist上找到了以下內容,這表明它可能與coeflist和varlist之間的區別有關,但我認爲這不是問題。 http://www.statalist.org/forums/forum/general-stata-discussion/general/131816-using-factor-variables-in-estimates-table-keep
這是一個可重現的例子。
clear all
sysuse auto
gen big=(weight>3000)
label define Big 0 "Not in Big Set" 1 "In Big Set"
label values big Big
label variable big "Is Item Found in Big Set?"
compress big //want it to be byte to match my real data
estpost tabulate big foreign
esttab using myfilename.tex, replace f ///
cell(colpct(fmt(2)) b(fmt(g) par keep(Total))) ///
collabels(none) unstack noobs nonumber nomtitle ///
eqlabels(, lhs("Size Category")) ///
varlabels(, blist(Total "\hline "))
estpost tabulate rep78 foreign
esttab using myfilename2.tex, replace f ///
cell(colpct(fmt(2)) b(fmt(g) par keep(Total))) ///
collabels(none) unstack noobs nonumber nomtitle ///
eqlabels(, lhs("Repair Rec.")) ///
varlabels(, blist(Total "\hline "))
乳膠輸出看起來像這樣在第一種情況:
Size Category& Domestic& Foreign& Total\\
\hline
Not in Big Set& 28.85& 90.91& 47.30\\
& (15)& (20)& (35)\\
In Big Set & 71.15& 9.09& 52.70\\
& (37)& (2)& (39)\\
\hline Total & 100.00& 100.00& 100.00\\
& (52)& (22)& (74)\\
它看起來像這樣(正確)在第二種情況下:
Repair Rec. & Domestic& Foreign& Total\\
\hline
1 & 4.17& 0.00& 2.90\\
2 & 16.67& 0.00& 11.59\\
3 & 56.25& 14.29& 43.48\\
4 & 18.75& 42.86& 26.09\\
5 & 4.17& 42.86& 15.94\\
\hline Total & 100.00& 100.00& 100.00\\
& (48)& (21)& (69)\\
我還以爲它可能有與我的存儲類型有關,但在第一個estpost沒有修復之前添加recast int big
。
爲什麼keep
只能在一個這樣的情況下工作?它如何被修復?
或者是否有另一種解決方法來實現我在最後一行出現的每列中的觀察值數目的目標(將它們標記爲「觀察次數」將成爲獎金)?
由於我不知道'estout',我會做出這樣的評論:也許有人會看到沒有答案,並將提供明確的答案。由於你的優秀的可重現的例子,我能夠發現,在你試圖將'big'重鑄爲'int'的精神下,去掉'big'上的值標籤導致第一種情況現在與第二種情況匹配。祝你好運! – 2016-07-31 14:30:10
感謝威廉!這太有趣了!我可以證實,這確實創造了我想要的效果與'保持'。但是,這導致了我現在沒有合理的行標籤的問題。我覺得這應該可以通過'eqlabels'選項解決,但我還沒有弄明白。 – Danielle
當然我的意思是'varlabels' – Danielle