Stata:结合多个estpost结果
Stata: Combining multiple estpost results
我正在尝试将我从 estpost tabulate 获得的 cumpct 结果与我从 estpost tabstat 获得的汇总统计信息结合在一个 esttab 输出中。但是,我使用下面的代码得到了一个空白的 cumpct 列。我相信问题源于我存储 cumpct 矩阵的方式,但不幸的是,我找不到解决方案。
clear
input float A wage
1 100
3 450
2 180
2 190
1 70
4 880
3 65
5 40
1 144
4 28
5 110
end
* tabulation
estpost tabulate A
matrix cumpct=e(cumpct)
* Summary Stats
estpost tabstat wage, ///
statistics(mean sd p25 p50 p75) ///
columns(statistics) by(A)
* Esttab
esttab ., replace ///
cells("cumpct mean sd p25 p50 p75")
我得到的结果如下:
------------------------------------------------------------------------------------------
(1)
cumpct mean sd p25 p50 p75
------------------------------------------------------------------------------------------
1 104.6667 37.22007 70 100 144
2 185 7.071068 180 185 190
3 257.5 272.2361 65 257.5 450
4 454 602.455 28 454 880
5 75 49.49747 40 75 110
Total 205.1818 252.3192 65 110 190
------------------------------------------------------------------------------------------
N 11
------------------------------------------------------------------------------------------
.
在 运行ning 之后的示例中:
estpost tabstat wage, ///
statistics(mean sd p25 p50 p75) ///
columns(statistics) by(A)
e()中存储的是:
. ereturn list
scalars:
e(N) = 11
macros:
e(cmd) : "estpost"
e(subcmd) : "tabstat"
e(stats) : "mean sd p25 p50 p75"
e(vars) : "wage"
e(byvar) : "A"
matrices:
e(mean) : 1 x 6
e(sd) : 1 x 6
e(p25) : 1 x 6
e(p50) : 1 x 6
e(p75) : 1 x 6
所以当你 运行
esttab ., replace ///
cells("cumpct mean sd p25 p50 p75")
未找到 cumpct,因此将丢失。
可以使用一个小的帮助程序手动将累积矩阵添加到 e()。
clear
input float A wage
1 100
3 450
2 180
2 190
1 70
4 880
3 65
5 40
1 144
4 28
5 110
end
// Helper program
cap program drop add_e
program add_e, eclass
args name matrix
ereturn matrix `name' = `matrix'
end
* tabulation
estpost tabulate A
matrix cumpct=e(cumpct)
* Summary Stats
estpost tabstat wage, ///
statistics(mean sd p25 p50 p75) ///
columns(statistics) by(A)
add_e "cumpct" cumpct
* Esttab
esttab ., replace ///
cells("cumpct mean sd p25 p50 p75")
结果:
------------------------------------------------------------------------------------------
(1)
cumpct mean sd p25 p50 p75
------------------------------------------------------------------------------------------
1 27.27273 104.6667 37.22007 70 100 144
2 45.45455 185 7.071068 180 185 190
3 63.63636 257.5 272.2361 65 257.5 450
4 81.81818 454 602.455 28 454 880
5 100 75 49.49747 40 75 110
Total 205.1818 252.3192 65 110 190
------------------------------------------------------------------------------------------
N 11
------------------------------------------------------------------------------------------
我正在尝试将我从 estpost tabulate 获得的 cumpct 结果与我从 estpost tabstat 获得的汇总统计信息结合在一个 esttab 输出中。但是,我使用下面的代码得到了一个空白的 cumpct 列。我相信问题源于我存储 cumpct 矩阵的方式,但不幸的是,我找不到解决方案。
clear
input float A wage
1 100
3 450
2 180
2 190
1 70
4 880
3 65
5 40
1 144
4 28
5 110
end
* tabulation
estpost tabulate A
matrix cumpct=e(cumpct)
* Summary Stats
estpost tabstat wage, ///
statistics(mean sd p25 p50 p75) ///
columns(statistics) by(A)
* Esttab
esttab ., replace ///
cells("cumpct mean sd p25 p50 p75")
我得到的结果如下:
------------------------------------------------------------------------------------------
(1)
cumpct mean sd p25 p50 p75
------------------------------------------------------------------------------------------
1 104.6667 37.22007 70 100 144
2 185 7.071068 180 185 190
3 257.5 272.2361 65 257.5 450
4 454 602.455 28 454 880
5 75 49.49747 40 75 110
Total 205.1818 252.3192 65 110 190
------------------------------------------------------------------------------------------
N 11
------------------------------------------------------------------------------------------
.
在 运行ning 之后的示例中:
estpost tabstat wage, ///
statistics(mean sd p25 p50 p75) ///
columns(statistics) by(A)
e()中存储的是:
. ereturn list
scalars:
e(N) = 11
macros:
e(cmd) : "estpost"
e(subcmd) : "tabstat"
e(stats) : "mean sd p25 p50 p75"
e(vars) : "wage"
e(byvar) : "A"
matrices:
e(mean) : 1 x 6
e(sd) : 1 x 6
e(p25) : 1 x 6
e(p50) : 1 x 6
e(p75) : 1 x 6
所以当你 运行
esttab ., replace ///
cells("cumpct mean sd p25 p50 p75")
未找到 cumpct,因此将丢失。
可以使用一个小的帮助程序手动将累积矩阵添加到 e()。
clear
input float A wage
1 100
3 450
2 180
2 190
1 70
4 880
3 65
5 40
1 144
4 28
5 110
end
// Helper program
cap program drop add_e
program add_e, eclass
args name matrix
ereturn matrix `name' = `matrix'
end
* tabulation
estpost tabulate A
matrix cumpct=e(cumpct)
* Summary Stats
estpost tabstat wage, ///
statistics(mean sd p25 p50 p75) ///
columns(statistics) by(A)
add_e "cumpct" cumpct
* Esttab
esttab ., replace ///
cells("cumpct mean sd p25 p50 p75")
结果:
------------------------------------------------------------------------------------------
(1)
cumpct mean sd p25 p50 p75
------------------------------------------------------------------------------------------
1 27.27273 104.6667 37.22007 70 100 144
2 45.45455 185 7.071068 180 185 190
3 63.63636 257.5 272.2361 65 257.5 450
4 81.81818 454 602.455 28 454 880
5 100 75 49.49747 40 75 110
Total 205.1818 252.3192 65 110 190
------------------------------------------------------------------------------------------
N 11
------------------------------------------------------------------------------------------