大大大大大新闻————自公号推送视屏讲解环节以来,深受广大读者朋友的喜爱。近日向我们提问的粉丝也是大幅增加呐!为了便捷管理相关信息,提高工作效率,我们对提问方式做了略微调整哟~提问者需点击推文底部阅读原文下载爬虫俱乐部用户问题登记表并按要求填写后发至邮箱statatraining@163.com,我们会为您及时解答哟~
前不久,爬虫俱乐部编写了reg2docx、sum2docx等一系列结果输出的命令。今天为大家带来一个新编写的命令corr2docx,这个命令主要是把变量之间的Pearson相关系数和Spearman相关系数合并到一个矩阵里并输出到docx文件中。大家可以在stata中输入ssc install corr2docx来下载安装。
corr2docx的语法结构
corr2docx varlist [if] [in] using filename, [options]
其中,varlist指数值型变量列表,filename指的是输出的文件名。
replace :替换掉原有以filename命名的文件;
append :合并到原来存在的,并以filename命名的文件;
title(string) :指定描述性统计量表格的表头;
fmt(string):更改输出相关系数的显示格式;
star:只输入star,显示默认设定格式的显著性水平(* p<0.1, ** p<0.05,***p<0.01 ),并对相关系数添加对应显著性水平的标记;如果star(* 0.05)表示5%的显著性水平显著的相关系数后缀*;
note(string):对相关系数表添加注释,默认为空;
addone:在相关系数矩阵的主对角线上添加数字1,默认为空。
举个栗子
首先,我们用putdocx命令进行文本编辑,生成一个封面并保存为corr2docx.docx文件,程序如下:
clear all
set more off
putdocx begin
putdocx paragraph, halign(center)
putdocx text ("实证结果展示"), font("华为楷体",60,black) bold linebreak
putdocx text ("基本统计量表"), font("华文楷体",50,blue) bold
putdocx save corr2docx.docx, replace
shellout corr2docx.docx
执行结果如下:
2
接下来,我们以auto数据为例,输出从price到length_ratio这几个变量的相关系数表,并合并到文件corr2docx.docx中。程序如下:
sysuse auto.dta,clear
corr2docx price-length using corr2docx,append star //默认格式的显著性水平
shellout corr2docx.docx
输出结果如下:
你也可以看一下价格排在前30名的国产汽车相关系数表:
gsort -price
corr2docx price-length in 1/30 if foreign == 0 using corr2docx,append ///
star note("The top 30 of domestic car sort by price") / /note添加注释
当然,我们还可以指定显示特定的显著性水平并加标记。比如,如果我们只想对在5%显著性水平上显著的相关系数加标记的话,可以输入以下命令:
corr2docx price-length using corr2docx,append star(* 0.05)
如果想要显示两位小数可以加上fmt选项:
corr2docx price-length using corr2docx,append star(* 0.05) fmt(%4.2f)
如果想在相关系数矩阵的主对角线上添加1、更改表头或者添加注释时,我们可以添加选择项addone、title和note。命令如下:
corr2docx price-length using corr2docx,append star addone ///
title("Pearson&Spearman Correlation Coefficient") ///
note("By 爬虫俱乐部")
shellout corr2docx.docx
3
接下来,我们一起回顾一下目前所有的实证结果输出Word的命令,并做出完整的结果。
首先,我们生成实证结果展示标题:
clear all
set more off
putdocx begin
putdocx paragraph, halign(center)
putdocx text ("实证结果展示"), font("华为楷体",60,black) bold linebreak
putdocx save table.docx, replace
接着使用汽车数据生成描述性统计表:
sysuse auto.dta
sum2docx price-length using table.docx, ///
append title("描述性统计") mean sd min median max
shellout table.doc
换页,并生成相关系数表:
putdocx begin
putdocx pagebreak
putdocx save table.docx,append
corr2docx price-length using table.docx,append star addone ///
title("Pearson&Spearman Correlation Coefficient") ///
note("By 爬虫俱乐部")
shellout table.docx
换页并 生成分组t检验表:
putdocx begin
putdocx pagebreak
putdocx save table.docx,append
t2docx price-length using table.docx, ///
append by(foreign) title("分组t检验")
shellout table.docx
换页并 输出回归结果:
putdocx begin
putdocx pagebreak
putdocx save table.docx,append
reg price-length
est store m1
probit foreign price-length
est store m2
reg2docx m1 m2 using table.docx, ///
append order(price) ar2 title("回归结果")
shellout table.docx
完整例子程序
*相关系数输出
clear all
putdocx begin
putdocx paragraph, halign(center)
putdocx text ("实证结果展示"), font("华为楷体",60,black) bold linebreak
putdocx text ("相关系数表"), font("华文楷体",50,blue) bold
putdocx save corr2docx.docx, replace
sysuse auto.dta,clear
corr2docx price-length using corr2docx,append star //默认格式的显著性水平
gsort -price
corr2docx price-length in 1/30 if foreign == 0 using corr2docx,append ///
star note("The top 30 of domestic car sort by price")
corr2docx price-length using corr2docx,append star(* 0.05)
corr2docx price-length using corr2docx,append star(* 0.05) fmt(%4.2f)
corr2docx price-length using corr2docx,append star addone ///
title("Pearson&Spearman Correlation Coefficient") ///
note("By 爬虫俱乐部")
shellout corr2docx.docx
*实证结果完整输出
clear all
set more off
putdocx begin
putdocx paragraph, halign(center)
putdocx text ("实证结果展示"), ///
font("华为楷体",60,black) bold linebreak
putdocx save table.docx, replace
sysuse auto.dta
sum2docx price-length using table.docx, ///
append title("描述性统计") mean sd min median max
putdocx begin
putdocx pagebreak
putdocx save table.docx,append
corr2docx price-length using table.docx,append star addone ///
title("Pearson&Spearman Correlation Coefficient") ///
note("By 爬虫俱乐部")
putdocx begin
putdocx pagebreak
putdocx save table.docx,append
t2docx price-length using table.docx, ///
append by(foreign) title("分组t检验")
putdocx begin
putdocx pagebreak
putdocx save table.docx,append
reg price-length
est store m1
probit foreign price-length
est store m2
reg2docx m1 m2 using table.docx, ///
append order(price) ar2 title("回归结果")
ssc install outreg2 //如果stata没有安装shellout命令的同学,可以安装outreg2 ///
命 令,里面自带shellout的命令文件。
shellout table.docx
什么?!没看懂!!不要紧!!戳下面,听爬虫小将的详细讲解,也欢迎大家的批评指正哟!
应广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫。第一批发票已经寄到各位小主的手中,大家快来给小爬虫打赏呀~
文字编辑:高金凤
技术总编:刘贝贝
往期推文推荐:
5.爬虫俱乐部又出新命令了——wordconvert转换你的word文件
6.putdocx+wordconvert—将实证结果输出到Word(.docx)文档
7.Stata 15之Markdown——没有做不到,只有想不到!
关于我们
微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。
此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。
投稿邮箱:statatraining@163.com
投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿”+“推文名称”。
欢迎关注爬虫俱乐部
微信扫一扫
关注该公众号