打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
命令sum2docx输出统计量表到docx文件

好消息:爬虫俱乐部出新命令啦!

 

去年,爬虫俱乐部连续发布了 chinagcode、chinaaddress、cnintraday、

subinfile、cnstock等等实用的命令,实现了中文地址与经纬度之间的转换、股票分时交易数据的抓取、文本文件的修改、股票代码的获取等等功能,并对以前发布的cntradechinafin命令做了修改,让这些命令可以在Stata14以及更高版本的环境下运行。


 

前不久,爬虫俱乐部又编写了命令wordconvert 。通过调用PowerShell

MS Word 该命令实现了rtfdocdocxpdf等文件的相互转换(pdf和xps目前只能被其他文件转成,不能转成其他文件),使得esttab生成的rtf文件在stata15中直接转换为docx文件。


         如今我们又发布了新命令sum2docx这个命令可以将描述性统计量表直接输出到一个docx文件中。

注:用这个命令之前,要安装哟ssc install sum2docx

 

sum2docx的语法结构

 sum2docx varlist [if] [in] using filename , [options]

其中,filename指的是输出的文件名,该命令的options非常丰富,这里我们介绍几个常用的选项:

replace :替换掉原有以filename命名的文件;

append :合并到原来存在的,并以filename命名的文件;

title(string) :指定描述性统计量表格的表头;

obs:观测值的个数;

mean[(fmt)] :输出平均值,并可以设定数值的显示格式;

sd[(fmt)] :输出标准差,并可以设定数值的显示格式;

min[(fmt)] :输出最小值,并可以设定数值的显示格式;

median[(fmt)] :输出中位数,并可以设定数值的显示格式;

max[(fmt) :输出最大值,并可以设定数值的显示格式。

           还有var[(fmt)]、skewness[(fmt)]、kurtosis[(fmt)]、sum[(fmt)]p1[(fmt)]

p5[(fmt)]、p10[(fmt)]等选项,读者可自行查阅help文件,了解更多的options。

栗子说明

首先,我们用putdocx命令进行文字编辑,生成一个封面并保存为mytable1.docx文件,程序如下:

clear all

cap mkdir E:\docx\

cd E:\docx\

! taskkill /F /IM WINWORD.EXE /T

putdocx begin

putdocx paragraph, halign(center)

putdocx text ('实证结果展示'), font('华为楷体',60,black) bold linebreak

putdocx text ('基本统计量表'), font('华文楷体',50,blue) bold

putdocx pagebreak

putdocx save mytable1.docx, replace     

执行结果如下:

接下来,我们以auto数据为例,输出price、mpg、weight、length、foreign这几个变量的描述性统计,并合并到文件mytable1.docx中。程序如下:

sysuse auto, clear

sum2docx price mpg weight length foreign using mytable1.docx,append obs mean(%9.2f) sd min(%9.0g) median(%9.0g) max(%9.0g) title('Table 1: Summary Statistics')

结果如下:

这样我们就把变量price、mpg、weight、length、foreign的观测值、平均值、标准差、最小值、中位数、最大值输出到了文件mytable1.docx中,并设定了数值的显示格式以及加上了表头。输出所有数值型变量的描述性统计,并合并到mytable1.docx文件中 。 

程序如下:

drop make

sum2docx _all using d:/temp5.docx, append obs mean(%9.2f) sd min(%9.0g) median(%9.0g) max(%9.0g) title('Table 1: this is the summary statistics')

执行结果如下:

这里我们用append选项将描述性统计结果合并到了之前的mytable1.docx文件中,但是我们发现两次结果出现在了同一页中,如何将不同次的结果到处到不同的页码中呢?可以通过putdocx命令进行换页,程序如下:

putdocx begin

putdocx pagebreak

putdocx save mytable1.docx,append

drop make

sum2docx _all using mytable1.docx, append obs mean(%9.2f) sd min(%9.0g) median(%9.0g) max(%9.0g) title('Table 2: Summary Statistics')   

执行结果如下:

这样,我们就把两次描述性统计结果输出到不同的页中。完整程序如下:

clear all

cap mkdir E:\docx\

cd E:\docx\

! taskkill /F /IM WINWORD.EXE /T

putdocx begin

putdocx paragraph, halign(center)

putdocx text ('实证结果展示'), font('华为楷体',60,black) bold linebreak

putdocx text ('基本统计量表'), font('华文楷体',50,blue) bold

putdocx pagebreak

putdocx save mytable1.docx, replace

sysuse auto, clear

sum2docx price mpg weight length foreign using mytable1.docx,append obs mean(%9.2f) sd min(%9.0g) median(%9.0g) max(%9.0g) title('Table 1: Summary Statistics')

putdocx begin

putdocx pagebreak

putdocx save mytable1.docx,append

drop make

sum2docx _all using mytable1.docx, append obs mean(%9.2f) sd min(%9.0g) median(%9.0g) max(%9.0g) title('Table 2: Summary Statistics')

winexec 'C:\Program Files\Microsoft Office\Office12/WINWORD.EXE' mytable1.docx   //打开mytable1.docx文件(不同电脑word安装位置不一样,可能需要改正路径。)




    目前,我们团队还在积蓄能量憋大招,会继续发布新的命令,reg2docx即将发布,敬请期待,还有一大波double大波double大波double大波的好命令,请继续关注我们的推送!


重要通知:

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Golang学习笔记
python 提取选择题到excel
Stata:毕业论文大礼包 A——实证结果输出命令大比拼
论文查重:利用Python查找两个Word文件的相同内容
用Python写几行代码,一分钟搞定一天工作量,同事直呼:好家伙!
8个实用的 Python 自动化办公技巧
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服