如何使用 esttab 或 estout 从数据中导出
How to export from data using esttab or estout
假设我有这些数据:
sysuse auto2, clear
gen name = substr(make, 1,3)
drop if missing(rep78)
gen n = 1
collapse (mean) mpg (sum) (n), by(name)
replace name = "a b: c" if _n==1
我想使用 esttab
或 estout
将它们直接从数据导出到 .rtf(.tex 等)文件。这可能吗?我想要这样做的关键原因是我希望能够保留行名称中的空格。如果能够选择在 1,000's 之后使用逗号,那就太好了。
一种部分方法是将数据保存到矩阵,然后使用 esttab
导出矩阵,但我需要这个额外的步骤吗?
mkmat mpg n, matrix(mat) rownames(name)
esttab matrix(mat)
一个问题是它将行名称中的空格替换为 _。另一个问题是,如果任何行名(来自变量 name
)是 :
,那么这将在输出中创建类别。还有其他解决方案吗?是直接从数据中导出还是可能以某种方式将数据保存在估算中?
您可以直接使用 estpost tabstat, statistics(mean count) by()
计算均值和计数,而不是使用 collapse
。然后您可以使用 esttab
导出结果。
如果你真的想先创建一个数据集,你仍然可以使用estpost tabstat
。这似乎适用于您的数据集:
estpost tabstat mpg n, by(name) nototal
esttab, cells("mpg n") varlabels(`e(labels)') noobs nonumber nomtitle
如果您希望 "a b: c" 再次位于顶部,您可以使用 esttab
的排序选项。
假设我有这些数据:
sysuse auto2, clear
gen name = substr(make, 1,3)
drop if missing(rep78)
gen n = 1
collapse (mean) mpg (sum) (n), by(name)
replace name = "a b: c" if _n==1
我想使用 esttab
或 estout
将它们直接从数据导出到 .rtf(.tex 等)文件。这可能吗?我想要这样做的关键原因是我希望能够保留行名称中的空格。如果能够选择在 1,000's 之后使用逗号,那就太好了。
一种部分方法是将数据保存到矩阵,然后使用 esttab
导出矩阵,但我需要这个额外的步骤吗?
mkmat mpg n, matrix(mat) rownames(name)
esttab matrix(mat)
一个问题是它将行名称中的空格替换为 _。另一个问题是,如果任何行名(来自变量 name
)是 :
,那么这将在输出中创建类别。还有其他解决方案吗?是直接从数据中导出还是可能以某种方式将数据保存在估算中?
您可以直接使用 estpost tabstat, statistics(mean count) by()
计算均值和计数,而不是使用 collapse
。然后您可以使用 esttab
导出结果。
如果你真的想先创建一个数据集,你仍然可以使用estpost tabstat
。这似乎适用于您的数据集:
estpost tabstat mpg n, by(name) nototal
esttab, cells("mpg n") varlabels(`e(labels)') noobs nonumber nomtitle
如果您希望 "a b: c" 再次位于顶部,您可以使用 esttab
的排序选项。