我有一个小项目,我需要以各种方式将具有频率的数据集制成表格,并将这些表格导出到大型Excel表格中。不幸的是,复制和粘贴会截断文本标签并为我们带来许多其他问题。
有没有办法将结果保存/导出为CSV或Excel格式?
也就是说,类似R中的write.table
命令,我无法在工作中安装。
更新1:
在Stata的常见问题提供了三种解决办法,为我们工作:http://www.stata.com/support/faqs/data-management/copying-tables/,但塔塔的支持做了一个后续邮寄指向常见问题解答的链接后不久,tabout和教程显示一些真正漂亮的表格。
我们已经与该tabout一些进展,但我们真的不知道,如果它会做我们需要的一切,但tabout D7 TEST.XLS到目前为止创建表格工作得很好,虽然没有标签的任何适当aligment和如你会得到LaTeX。
更新2:
好的,所以很多表并不像表格和by命令一样简单 - 需要一些编程(在当前的Stata技能级别没有完成)。仅仅输出任何结果缺乏原生支持是一种真正的痛苦!
答案 0 :(得分:4)
outreg
不起作用,因为它只适用于估计(类似回归)结果。 xml_tab
可能会生成您喜欢的任何内容(findit xml_tab
即可安装)。显然,您可以export excel
您的数据,但如果您需要频率表,您可能希望首先collapse (count) ..., by(varlist)
您的数据。 (我讨厌collapse
,因为我认为你需要销毁和重新加载你的数据是一个糟糕的想法;这是一个例子,其中R的对象概念比Stata在内存中只有一个数据集的想法更方便一次。)
答案 1 :(得分:3)
当想要列表输出到任何内容时,无论是tabulate
还是regress
还是clogit
,我总是关闭当前的log
文件并开始一个新文件,而不是.smcl
格式,但后缀为.log
,方便,因为通常我想保留clogit
中的大量值返回
*close logs even if there isn't any
capture log close
log using NAMEOFOUTPUT.log
执行tab
或reg
或clogit
log close
您的列表结果将来自该.log
文件中的任何一个命令。
答案 2 :(得分:2)
可以outreg成为解决方案吗? http://www.kellogg.northwestern.edu/rc/stata-outreg.htm
由于以上只会做回归表,因此estout是一个不错的选择。而命令estpost,我相信为表格创建表格: http://repec.org/bocode/e/estout/estpost.html
答案 3 :(得分:1)
对于单向频率表fre
模块也可以非常方便。可以将输出写入制表符分隔的表和LaTeX。
sysuse auto, clear
fre rep78
rep78 -- Repair Record 1978
-----------------------------------------------------------
| Freq. Percent Valid Cum.
--------------+--------------------------------------------
Valid 1 | 2 2.70 2.90 2.90
2 | 8 10.81 11.59 14.49
3 | 30 40.54 43.48 57.97
4 | 18 24.32 26.09 84.06
5 | 11 14.86 15.94 100.00
Total | 69 93.24 100.00
Missing . | 5 6.76
Total | 74 100.00
-----------------------------------------------------------
下载以及有关SSC的更多信息:
答案 4 :(得分:1)
答案是是。您可以使用社区提供的命令tabout
来实现此目的。
正如其作者在其网站上所描述的那样:
“实质上,tabout是一个用于生成描述性统计数据的出版质量表的程序。它在统计包Stata中运行,可用于生成计数和百分比的交叉表,以及交叉列表的汇总表,例如均值,中位数,标准差等。“
随后可以将这些内容轻松导出为Word,Excel或PDF文件。
有关tabout
表的示例,请访问官方on-line gallery并咨询User-Guide。
修改强>
我注意到在我回答了问题之后,OP已经知道tabout
了。希望我的回答仍然提供了一些背景。