相关系数输出唾手可得

2017-08-08 赵政轩 爬虫俱乐部 爬虫俱乐部

大大大大大新闻————自公号推送视屏讲解环节以来,深受广大读者朋友的喜爱。近日向我们提问的粉丝也是大幅增加呐!为了便捷管理相关信息,提高工作效率,我们对提问方式做了略微调整哟~提问者需点击推文底部阅读原文下载爬虫俱乐部用户问题登记表并按要求填写后发至邮箱statatraining@163.com,我们会为您及时解答哟~


前不久,爬虫俱乐部编写了reg2docxsum2docx等一系列结果输出的命令。今天为大家带来一个新编写的命令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,默认为空。

举个栗子

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、更改表头或者添加注释时,我们可以添加选择项addonetitlenote。命令如下:

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元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫。第一批发票已经寄到各位小主的手中,大家快来给小爬虫打赏呀~

                        文字编辑:高金凤

技术总编:刘贝贝



往期推文推荐:

1.高校学术大神:你的导师上榜了吗?

2.中国高校财经、管理与综合类期刊灌水排行榜

3.命令sum2docx输出统计量表到docx文件

4.reg2docx报告你的实证结果吧!

5.爬虫俱乐部又出新命令了——wordconvert转换你的word文件

6.putdocx+wordconvert—将实证结果输出到Word.docx)文档

7.Stata 15Markdown——没有做不到,只有想不到!

8.矩阵和宏的故事

9.shelloutopen anything

10.Putpdf--神奇的转换工具



关于我们

微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。

此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。

投稿邮箱:statatraining@163.com

投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿”+“推文名称”。

欢迎关注爬虫俱乐部





微信扫一扫
关注该公众号