esttab中的子组与平均值

问题描述 投票:1回答:1

这是我尝试过的Stata代码:

eststo clear
sysuse auto, clear
eststo Dom: estpost sum rep78 mpg turn trunk weight length if foreign==0
eststo For: estpost sum rep78 mpg turn trunk weight length if foreign==1
esttab Dom For, cells("mean(fmt(2))" "sd") ///
    nonumber nodepvars noobs se collabels(none) mlabels(, lhs("Var") title)

以下也是输出:

--------------------------------------
Var                   Dom          For
--------------------------------------
rep78                3.02         4.29
                     0.84         0.72
mpg                 19.83        24.77
                     4.74         6.61
turn                41.44        35.41
                     3.97         1.50
trunk               14.75        11.41
                     4.31         3.22
weight            3317.12      2315.91
                   695.36       433.00
length             196.13       168.55
                    20.05        13.68
--------------------------------------

这样做是使用summarize计算几个变量的均值和标准差。这是根据条件单独进行的(一次用于外国观察,一次用于非外国观察)。

然后通过esttab显示结果,平均值和标准偏差。我最终希望在LaTeX中得到它,但是这个例子为了简单起见显示了Stata的结果。

我有两个问题:

  1. 如何在括号中显示标准偏差?
  2. 是否可以在变量之间包含任何行来分隔两个不同的组?

我有这样的想法:

--------------------------------------
Var                   Dom          For
--------------------------------------
Variable Group 1:
--------------------------------------
rep78                3.02         4.29
                    (0.84)       (0.72)
mpg                 19.83        24.77
                    (4.74)       (6.61)
turn                41.44        35.41
                    (3.97)       (1.50)
--------------------------------------
Variable Group 2:
--------------------------------------
trunk               14.75        11.41
                   (4.31)       (3.22)
weight            3317.12      2315.91
                 (695.36)      (433.00)
length             196.13       168.55
                  (20.05)       (13.68)
--------------------------------------

我想尽可能使用eststo等。我希望它尽可能自动化,但我愿意将Stata中的矩阵导出到LaTeX中,或者使用片段(如果需要的话)。如果这是不可能的,我也对其他解决方案持开放态度。

formatting format latex output stata
1个回答
3
投票

关于第一个问题,你需要在par中的sd中指定选项cells()

sysuse auto, clear

eststo clear

eststo Dom: estpost sum rep78 mpg turn trunk weight length if foreign==0
eststo For: estpost sum rep78 mpg turn trunk weight length if foreign==1
esttab Dom For, cells("mean(fmt(2))" "sd(par)") ///
    nonumber nodepvars noobs se collabels(none) mlabels(, lhs("Var") title)

关于第二个问题,您可以执行以下操作:

eststo clear

eststo Dom: estpost sum rep78 mpg turn if foreign==0
eststo For: estpost sum rep78 mpg turn if foreign==1
esttab Dom For using output.txt, cells("mean(fmt(2))" "sd(par)") ///
    nonumber nodepvars noobs collabels(none) mlabels(, lhs("Vars") title) ///
    posthead("@hline" "Variable Group 1:" "@hline" ) postfoot(" ") replace

eststo clear

eststo Dom: estpost sum trunk weight length if foreign==0
eststo For: estpost sum trunk weight length if foreign==1
esttab Dom For using output.txt, cells("mean(fmt(2))" "sd(par)") ///
    nonumber nodepvars noobs collabels(none) mlabels(none)  ///
    prehead("@hline" "Variable Group 2:") append

这将产生所需的输出:

type output.txt

--------------------------------------
Vars                  Dom          For
--------------------------------------
Variable Group 1:
--------------------------------------
rep78                3.02         4.29
                   (0.84)       (0.72)
mpg                 19.83        24.77
                   (4.74)       (6.61)
turn                41.44        35.41
                   (3.97)       (1.50)

--------------------------------------
Variable Group 2:
--------------------------------------
trunk               14.75        11.41
                   (4.31)       (3.22)
weight            3317.12      2315.91
                 (695.36)     (433.00)
length             196.13       168.55
                  (20.05)      (13.68)
--------------------------------------
© www.soinside.com 2019 - 2024. All rights reserved.