format - 如何使用 esttab 或 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
or直接从数据中将它们导出到 .rtf(.tex 等)文件estout
。这可能吗?我想这样做的关键原因是我希望能够保留行名中的空格。如果能够选择在 1,000 之后使用逗号,那就太好了。
一种部分方法是将数据保存到矩阵中,然后使用导出矩阵esttab
,但是我需要这个额外的步骤吗?
mkmat mpg n, matrix(mat) rownames(name)
esttab matrix(mat)
这样做的一个问题是它用 _ 替换了行名中的空格。另一个问题是,如果任何行名(来自变量name
)是:
,那么这会在输出中创建类别。还有其他解决方案吗?要么直接从数据中导出,要么可能以某种方式将数据保存在估计中?
解决方案
collapse
您可以直接使用 来计算均值和计数,而不是使用estpost tabstat, statistics(mean count) by()
。然后您可以使用esttab
导出结果。
如果你真的想先创建一个数据集,你仍然可以使用estpost tabstat
. 这似乎适用于您的数据集:
estpost tabstat mpg n, by(name) nototal
esttab, cells("mpg n") varlabels(`e(labels)') noobs nonumber nomtitle
如果您想再次在顶部添加“ab: c”,您可以使用 的 order 选项esttab
。
推荐阅读
- javascript - 使用 PHP 在 MySql 数据库中使用 Java 脚本动态添加行插入
- java - 为什么当我调用 Universe.getCanvas().getView().repaint(); 时 java3d 闪烁
- javascript - 使用nodeJS将授权功能传递到另一个页面的最佳方法
- vue.js - Vuex mapstate 未定义
- python - 如何在我的自定义小部件模板中包含内置的 django 小部件模板?
- java - 为什么 list.parallelStream().forEach() 不处理 Java 中列表中的所有元素?
- python - 如何区分 OpenCV 中的实心圆/轮廓和空心圆/轮廓?
- flutter - 按下按钮时如何增加文本的大小?
- javascript - 未捕获的类型错误:无法读取 jquery 中未定义的属性“SPAN_ID”
- c++ - ProtoBuf:如何为新消息重用 FieldDescriptor?如何有效地从动态消息中获取字段值?