查看原文
其他

命令更新之corr2docx:将相关系数矩阵报告至Word文档

爬虫俱乐部 Stata and Python数据分析 2022-03-15

本文作者:孙雪丽

文字编辑:张语盈

技术总编:薛    原

重大通知!!!2019年6月22日至24日在河南郑州举行Stata编程技术特别训练营,招生工作已经圆满结束。另外爬虫俱乐部将于2019年7月5日至7月8日在武汉举行首期Python编程技术定制培训,仍在火热招生中,点击文章末尾查看原文,查看培训详细信息。

实证研究中通过描述性统计(《命令更新之sum2docx:将描述性统计输出至Word文档》)了解了变量的基本信息之后,通常会做一个相关性检验,以分析变量之间的相关关系。爬虫俱乐部开发的corr2docx命令可以直接将变量之间的相关系数矩阵(Pearson相关系数和Spearman相关系数)以表格的形式输出到.docx文件中,使变量相关系数的计算与结果报告一步式到位,极大地便利了我们的论文写作。今天我们便来介绍更新后的corr2docx命令的用法(命令更新:ssc install corr2docx, replace)。

corr2docx命令

通过help corr2docx了解到corr2docx命令的语法结构为:

corr2docx varlist [if] [in] [weight] using filename , [options]

其中,varlist为数值型变量列表,filename为输出的文件名。相比于老版的corr2docx命令,新版命令允许计算变量的相关系数时设置权重变量,通过[weight=varname]可指定变量为权重计算变量间的相关系数。

命令的主要变动依然集中在选项[options]部分,下面为大家介绍corr2docx命令更新后拥有的选项:

♦ replace选项:允许替换已经存在的同名文件。

♦ append选项:使相关系数矩阵输出到一个已存在的.docx文件中。

♦ fmt()选项:指定相关系数的显示格式,默认为fmt(%9.3f)(即相关系数保留小数点后三位数字)。

♦ title()选项:指定表格的标题,不指定时默认标题为”Correlation Coefficient”。

♦ pagesize(psize)选项:新增选项,用于设置输出文档的页面大小。psize取值可以为letter, legal, A3, A4, 或者B4JIS,页面大小默认为pagesize(A4)。

♦ landscape选项:新增选项,将输出文档的页面由纵向设置为横向,适合于输出的表格较宽的情况。

♦ note()选项:在相关系数矩阵下方添加注释。

上述几个选项基础上,我们以auto数据为例输出以变量rep78为权重计算的price到length几个变量之间的相关系数,并使相关系数保留两位有效数字,为不使排版显得拥挤,通过landscape选项将页面横向放置,程序如下:

sysuse auto, clearcorr2docx price-length [weight = rep78] if foreign==0 using 相关系数矩阵.docx, ///  replace fmt(%9.2f) title("auto数据相关系数矩阵") pagesize(A4) ///    landscape note("Correlation Coefficient of Domestic Cars")

可见corr2docx命令输出了一个主对角线全是1的相关系数矩阵,主对角线右上方是spearman相关系数,左下方是pearson相关系数。

♦ star[()]选项:star选项可指定显示相关系数的显著性水平,默认情况下显著性水平标识及含义为:*** p<0.01, ** p<0.05, * p<0.1;也可通过star()在括号中自定义显著性水平标识,如star(* 0.05 ** 0.01)表示在5%水平显著的相关系数后缀为*,1%水平显著的相关系数后缀为**。

corr2docx price-length [weight = rep78] if foreign==0 using 相关系数矩阵.docx, /// append fmt(%9.2f) title("auto数据相关系数矩阵1") pagesize(A4) landscape /// note("*** p<0.01, ** p<0.05, * p<0.1") star

♦ font()选项:新增选项,该选项用于设定输出文件的字体、字号及颜色,用法同sum2docx命令,不再赘述。

corr2docx price-length [weight = rep78] if foreign==0 using 相关系数矩阵.docx, ///  append fmt(%9.2f) title("auto数据相关系数矩阵2") pagesize(A4) landscape ///    note("*** p<0.01, ** p<0.05, * p<0.1") star font("宋体",12,"red")

♦ nodiagonal选项:该选项是对老版命令中addone选项的改编,老版corr2docx命令默认主对角线元素为空,可通过addone选项在相关系数矩阵的主对角线添加数字1;而新版corr2docx命令默认主对角线元素为1,指定nodiagonal选项将主对角线上的1替换为空。

corr2docx price-length [weight = rep78] if foreign==0 using 相关系数矩阵.docx, /// append fmt(%9.2f) title("auto数据相关系数矩阵3") pagesize(A4) landscape /// note("*** p<0.01, ** p<0.05, * p<0.1") star font("宋体",12,"black") nodiagonal

♦ pearson()选项:新增选项,用于对皮尔森(pearson)相关系数的输出做某些设定,可根据适当情况在括号中指定以下几个子选项:pw(pairwise correlation coefficients,指定两类相关系数均输出,为默认情况);bonferroni(指定使用Bonferroni调整的显著性水平,必须在指定pw的情况下使用);sidak(指定使用Sidak调整的显著性水平,同样需要指定pw);ignore(指定不报告皮尔森相关系数)。

corr2docx price-length [weight = rep78] if foreign==0 using 相关系数矩阵.docx, /// append fmt(%9.2f) title("auto数据相关系数矩阵4") pagesize(A4) landscape /// note("*** p<0.01, ** p<0.05, * p<0.1") star font("宋体",12,"black") /// pearson(pw sidak)

我们在选项中通过pearson(pw sidak)指定了对皮尔森相关系数使用Sidak调整的显著性水平,如图中红色方框所示,调整后原本显著的系数变得不那么显著了。

corr2docx price-length [weight = rep78] if foreign==0 using 相关系数矩阵.docx, /// append fmt(%9.2f) title("auto数据相关系数矩阵5") pagesize(A4) landscape /// note("*** p<0.01, ** p<0.05, * p<0.1") star font("宋体",12,"black") /// pearson(ignore)

pearson(ignore)指定了不报告皮尔森系数,主对角线左下方报告了斯皮尔曼系数。

♦ spearman()选项:新增选项,用于对斯皮尔曼(spearman)相关系数的输出做某些设定,括号中可指定与pearson()选项相同的4个子选项:pw、bonferroni、sidak及ignore,其中ignore指定不报告斯皮尔曼相关系数。

corr2docx price-length [weight = rep78] if foreign==0 using 相关系数矩阵.docx, /// append fmt(%9.2f) title("auto数据相关系数矩阵6") pagesize(A4) landscape /// note("*** p<0.01, ** p<0.05, * p<0.1") star font("宋体",12,"black") /// spearman(ignore)

spearman(ignore)指定了不报告斯皮尔曼系数,主对角线左下方报告了皮尔森系数。

以上就是更新后corr2docx命令的用法啦,相信用过老版corr2docx命令的小伙伴都能感受到新版命令的吸引力。一些细节上的改变(如addone选项变为nodiagonal选项)使corr2docx命令更加人性化,新选项的增加使corr2docx命令功能更加强大,不仅如此,更新后的corr2docx命令的运行速度更快,正在写论文的同学们赶紧了解一下吧!

对爬虫俱乐部的推文累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫!

往期推文推荐

关于我们

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

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

投稿邮箱:statatraining@163.com

投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存