作者:王美庭
Email: [email protected]
- 2020 年 6 月 23 日:消除了 eststo 对输出结果的影响
本文主要介绍了个人编写的可将描述性统计结果输出至 Stata 界面、Word 以及 LaTeX 的wmtsum
命令。
- 摘要
- 一、引言
- 二、为何要使用 wmtxxx 命令
- 三、命令的安装
- 四、语法与选项
- 五、实例
- 六、输出效果展示
自从我的推文 Stata:毕业论文大礼包 C——新版 esttab 在连享会发布之后,不少老师和同学发邮件给我表达了无法下载命令,以及没有帮助文件的问题。基于此,我花了很多心血,书写了对应命令的帮助文件,以及将代码托管于 GitHub 中,简化了命令安装流程(参见下文)。在此感谢各位老师和同学的支持与建议。
在此需要说明的是,这些命令之后将由我本人全程托管。本文以及后续文章命令的名称将会有所变化,分别为:wmtsum
对应lxhsum
;wmttest
对应lxhttest
;wmtcorr
对应lxhcorr
;wmtreg
对应lxhreg
;wmtmat
对应lxhmat
。在此感谢中山大学连玉君老师对于这些命令的认可。
为了文章的简洁性,我将按照一个命令一篇文章的形式进行阐述,这篇文章所涉及到的命令为wmtsum
,后续命令wmttest
、wmtcorr
、wmtreg
和wmtmat
也会逐渐推出。在这之后,matmh
命令也会被正式推出。目前计划大体是这样。
后文的
wmtxxx
代指命令wmtsum
、wmttest
、wmtcorr
、wmtreg
和wmtmat
集合。
现有很多相关的输出命令,但或许多多少少不让我们满意,有些只能输出到 Word 而无法输出到 Stata 界面和 LaTeX,而有些甚至在格式上还需自己后续手动调整(如多出的额外的空行,表格内容的错位)。而esttab
由于其功能的完整性,支持描述性统计、分组 T 均值检验、相关系数矩阵、回归结果以及矩阵在 Stata 界面、Word 和 LaTeX 的输出,堪称完美,但是由于其语句的复杂性让很多同学望而却步。基于此,个人根据esttab
内核,编写了语法更加简洁的wmtxxx
系列命令,以尽量使得大家能在更短的语句中,实现esttab
全面的功能。
本文主要阐述的wmtsum
命令,和后期将推出wmttest
、wmtcorr
、wmtreg
和wmtmat
命令,都可以通过append
选项将结果输出到一个 Word 或 LaTeX 文件(无需手动修改,可直接编译)中,将大幅度节省工作量。
事实上,esttab
输出命令默认也会夹带多余的空行,而修正后的wmtxxx
无此问题。
esttab
输出命令将结果导出到 Word 或 LaTeX 时,Stata 界面将不会显示结果。此时如果我们要去查看结果,还要额外打开对应的文件(或运行额外的命令),这明显降低了效率。而本文的wmtsum
(以及wmttest
、wmtcorr
、wmtreg
和wmtmat
)在将结果导入到 Word 或 LaTeX 后,本身 Stata 界面也会呈现对应的结果(也就是说,无论有无结果导出,Stata 界面都会呈现相应的结果)。
wmtsum
命令以及后续其他命令的代码都将托管于 GitHub 上,以使得同学们可以随时下载安装这些命令。
首先你需要有github
命令,如果没有,你可以运行以下命令安装最新的github
命令。
net install github, from("https://haghish.github.io/github/")
然后你就可以运行以下命令安装最新的wmtsum
命令以及对应的帮助文件了。
github install Meiting-Wang/wmtsum
当然,你也可以github search
一下,也能找到wmtsum
命令安装的入口:
github search wmtsum
命令语法:
wmtsum [varlist] [if] [in] [weight] [using filename] [, options]
varlist
: 仅可输入数值型变量,若为空,则自动导入所有数值型变量。weight
: 可以选择 fweight 或 aweight,默认为空。using
: 可以将结果输出至 Word( .rtf 文件)和 LaTeX( .tex 文件)中。
选项(options):
- 一般选项
statistics()
:括号中可输入:N mean sd min median max p1 p5 p10 p25 p75 p90 p95 p99
。默认为:N mean sd min max
。当然,我们还可以为每一个统计量设定不同的数值格式,如:N(%11.0f) mean(%11.3f) sd(%11.3f) min(%11.3f) max(%11.3f)
。title()
:设置表格标题,默认为:Summary statistics
。replace
:将结果输出至 Word 或 LaTeX 时,替换现有的文件(若文件已存在)。append
:将结果输出至 Word 或 LaTeX 时,附加在现在的文件中(若文件已存在)。
- LaTeX 专有选项
alignment()
:设置 LaTeX 表格的列对齐格式,可输入math
或dot
,math
设置列格式为居中对齐的数学格式(自动添加宏包booktabs
和array
),dot
表示小数点对齐的数学格式(自动添加宏包booktabs
、array
和dcolumn
)。默认为math
。page()
:可添加额外用户需要的宏包。
以上选项大部分都可以缩写,如
statistics()
可以缩写为s()
,详情可以help wmtsum
。
* 描述性统计结果输出的实例
sysuse auto.dta, clear
wmtsum //自动导入所有的数值型变量
wmtsum price rep78 foreign weight //导入特定的数值型变量
wmtsum price rep78 foreign weight, s(N sd(%9.3f) min(%9.2f) max(%9.2f)) //指定要报告的统计量及其对应的数值格式
wmtsum price rep78 foreign weight, ti(This is a custom title) //设置自定义表格标题
wmtsum price rep78 foreign weight using Myfile.rtf, replace //将描述性统计结果导出到Word中
wmtsum price rep78 foreign weight using Myfile.tex, replace //将描述性统计结果导出到LaTeX中
wmtsum price rep78 foreign weight using Myfile.tex, replace a(dot) //设置LaTeX表格列格式为小数点对齐
- Stata
wmtsum price rep78 foreign weight
Summary statistics
------------------------------------------------------------
N mean sd min max
------------------------------------------------------------
price 74 6165.257 2949.496 3291.000 15906.000
rep78 69 3.406 0.990 1.000 5.000
foreign 74 0.297 0.460 0.000 1.000
weight 74 3019.459 777.194 1760.000 4840.000
------------------------------------------------------------
- Word
wmtsum price rep78 foreign weight using Myfile.rtf, replace
- LaTeX
wmtsum price rep78 foreign weight using Myfile.tex, replace
wmtsum price rep78 foreign weight using Myfile.tex, replace a(dot)
如前文所述,在将结果输出 Word 或 LaTeX 时,Stata 界面上也会呈现对应的结果,以方便查看。