【问题标题】:How to export from data using esttab or estout如何使用 esttab 或 estout 从数据中导出
【发布时间】:2020-05-07 02:31:19
【问题描述】:

假设我有这些数据:

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

我想使用esttabestout 将它们直接从数据导出到.rtf(.tex 等)文件。这可能吗?我想这样做的关键原因是我希望能够保留行名中的空格。如果能够选择在 1,000 之后使用逗号,那就太好了。

一种部分方法是将数据保存到矩阵,然后使用esttab 导出矩阵,但我是否需要这个额外的步骤?

mkmat mpg n, matrix(mat) rownames(name)
esttab matrix(mat)

这样做的一个问题是它将行名称中的空格替换为_。另一个问题是,如果任何行名(来自变量name)是:,那么这会在输出中创建类别。还有其他解决方案吗?是直接从数据中导出还是可能以某种方式将数据保存在估计中?

【问题讨论】:

    标签: format export stata space


    【解决方案1】:

    您可以直接使用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 的顺序选项。

    【讨论】:

    • 谢谢。这在这种特殊情况下会起作用,但折叠步骤只是创建最终数据。还有许多其他应用程序无法计算数据。
    猜你喜欢
    • 2021-07-20
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-13
    • 2021-07-12
    • 1970-01-01
    相关资源
    最近更新 更多