如何导出表格

时间:2012-09-05 10:04:26

标签: stata

我有一个小项目,我需要以各种方式将具有频率的数据集制成表格,并将这些表格导出到大型Excel表格中。不幸的是,复制和粘贴会截断文本标签并为我们带来许多其他问题。

有没有办法将结果保存/导出为CSV或Excel格式?

也就是说,类似R中的write.table命令,我无法在工作中安装。


更新1:

在Stata的常见问题提供了三种解决办法,为我们工作:http://www.stata.com/support/faqs/data-management/copying-tables/,但塔塔的支持做了一个后续邮寄指向常见问题解答的链接后不久,tabout和教程显示一些真正漂亮的表格。

Table from the tutorial

我们已经与该tabout一些进展,但我们真的不知道,如果它会做我们需要的一切,但tabout D7 TEST.XLS到目前为止创建表格工作得很好,虽然没有标签的任何适当aligment和如你会得到LaTeX


更新2:

好的,所以很多表并不像表格和by命令一样简单 - 需要一些编程(在当前的Stata技能级别没有完成)。仅仅输出任何结果缺乏原生支持是一种真正的痛苦!

5 个答案:

答案 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

执行tabregclogit

之类的操作
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的更多信息:

http://ideas.repec.org/c/boc/bocode/s456835.html

答案 4 :(得分:1)

答案是。您可以使用社区提供的命令tabout来实现此目的。

正如其作者在其网站上所描述的那样:

  

“实质上,tabout是一个用于生成描述性统计数据的出版质量表的程序。它在统计包Stata中运行,可用于生成计数和百分比的交叉表,以及交叉列表的汇总表,例如均值,中位数,标准差等。“

随后可以将这些内容轻松导出为Word,Excel或PDF文件。

有关tabout表的示例,请访问官方on-line gallery并咨询User-Guide

修改

我注意到在我回答了问题之后,OP已经知道tabout 了。希望我的回答仍然提供了一些背景。