专栏名称: 爬虫俱乐部
Stata技术控,编程技术咨询,数据讨论与分享,编程和实证培训。
目录
相关文章推荐
爱可可-爱生活  ·  【[111星]graphrag-practi ... ·  12 小时前  
爱可可-爱生活  ·  【[261星] ... ·  昨天  
德州晚报  ·  山东3名正厅级干部,联动调整→ ·  昨天  
鲁中晨报  ·  20℃!淄博火箭式升温,但很快要反转 ·  2 天前  
鲁中晨报  ·  省级名单公示!淄博5案例入选 ·  3 天前  
51好读  ›  专栏  ›  爬虫俱乐部

手把手教你相关系数的输出

爬虫俱乐部  · 公众号  ·  · 2017-10-06 12:35

正文

快,关注这个公众号,一起涨姿势~

有问题,不要怕!点击推文底部“ 阅读原文 ”下载爬虫俱乐部用户问题登记表并按要求填写后发送至邮箱 [email protected] ,我们会及时为您解答哟输入文字输入文字输入文字

最近爬虫君收到了好多来自粉丝的问题求助,感谢大家对爬虫俱乐部的认可,今后我们团队也会为各位提供更加优质高效的服务。话说前几天,一位粉丝给我们发来了邮件,说他的数据是矩阵形式,想要通过能够专门处理矩阵的mata来计算任意两个变量之间的 相关系数 ,从而找出满足条件的变量组合。

其实呀,这种小问题根本就不需要mata来出马,只需要通过简单的 嵌套循环 就可以做出来,咱们就使用auto这个数据来给您来细细讲解。

01

假设我们的目的是要在price到foreign这11个变量中,两两做 相关系数 检验,输出相关系数大于0.8小于0.9的变量组合。导入auto数据,有细心的童鞋发现了foreign这一列显示的为字体颜色为蓝色的英文,这是什么原因呢?首先我们键入:

describe

发现foreign其实是有值标签的数值型变量。

接下来我们便着手开始计算 相关系数 吧,首先我们先试探性地简单计算mpg和weight之间的 相关系数

corr mpg weight

得到:

键入: return list ,得到 相关系数 的返回值:

相关系数 被保存在r(rho)这个返回值中。

02

如果想要对指定变量进行循环,我们可以使用到foreach这个命令,对于任意一个变量可以表达为 foreach i of varlist price-foreign

首先我们构建一个大体的框架:

sysuse auto,clear

foreach i of varlist price-foreign{

foreach j of varlist price-foreign{

corr `i' `j'

}

}

当我们运行这段程序时,屏幕输出了全部的结果,这使得我们很难直接找到我们想要的结果。

所以我们需要在这段程序上做一些修改。首先我们想在输出窗口隐去每一个 相关系数 列表的输出结果,并将对应的变量输出。其次,在输出窗口只输出 相关系数 大于0.8小于0.9的的变量组合。

针对第一个问题,我们可以在做 相关系数 检验这条命令前加一个“qui”,表示虽然运行了但是不在屏幕中显示。

针对第二个问题,我们可以再在里面套一个if判断语句,即:

if abs(`r(rho)')>0.8 & abs(`r(rho)')<0.9 {

di "`i'-`j'"

}

即修改了之后,程序变为:

sysuse auto,clear

foreach i of varlist price-foreign{

foreach j of varlist price-foreign{

qui corr `i' `j'

if abs(`r(rho)')>0.8 & abs(`r(rho)')<0.9{

di "`i'-`j'"

}

}

}

运行了之后,结果为:

输出结果算是基本出来了。

03

眼尖的同学或许发现了里面有重复出现变量组,如mpg-weight与weight-mpg(这两组表示的其实是同一组)。在前面我们提到了对于任意一个变量可以表达为 foreach i of varlist price-foreign ,那么在这里我们可以把另一个变量改写为 foreach j of varlist `i'-foreign ,这样就可以避免重复。

所以我们最终修改程序为:

clear

sysuse auto,clear

foreach i of varlist price-foreign{

foreach j of varlist `i'-foreign{

qui corr `i' `j'

if abs(`r(rho)')>0.8 & abs(`r(rho)')<0.9{

di "`i' -`j'"

}

}

}

这样,我们对程序的修改就算完成了,屏幕上就简单清晰地输出了我们想要的结果啦。

看不懂的记得戳下方视频哦~


注:此推文中的图片及封面(除操作部分的)均来源于网络!如有雷同纯属巧合!

以上就是今天给大家分享的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~。 另外,我们开通了苹果手机打赏通道,只要扫描下方的二维码,就可以打赏啦!

应广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫。第一批发票已经寄到各位小主的手中,大家快来给小爬虫打赏呀~

文字编辑:王    悦

技术总编:刘贝贝



往期推文推荐:

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

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

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

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

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

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

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

8. 矩阵和宏的故事







请到「今天看啥」查看全文