多语言展示
当前在线:1172今日阅读:84今日分享:32

R语言怎么做相关性分析

相关系数是表示不同变量之间的统计关系的强弱。其取值范围是在[-1,1]之间,即强负相关(-1)、完全不相关(0)、强正相关(1)。那么我们得到一组数据,想要分析其各变量之间的关系,除了传统算法(公式计算)外,还可以借助R语言中封装好的程序包,不仅可以计算不同种类的相关系数,还可以做相关性的显著性检验等功能全面。
工具/原料

电脑、R语言、cor()函数

方法/步骤
1

R语言计算相关系数,首先需要加载cor()函数包,它可以计算三种不同的相关系数如Pearson相关系数、Spearman相关系数、Kendall相关系数。而pcor()函数包则是计算偏相关系数。函数包的下载具体就不细说了,RStudio主页,tools菜单,点Install packages,输入函数包名称下载即可,具体请参考本人的另外两篇经验“R语言如何做SVM和RF”,介绍如何安装函数包。另外,cor()函数和cov函数都是内置的无需下载,psych包需要加载。

2

数据:本文的数据是笔者做论文时通过窗口傅里叶变换提取地类特征,有其13特征。部分数据截图,如图所示

3

计算13个特征之间的相关系数,cor()函数可以计算三种相关系数,其调用格式cor(x,use=,method=),use是指定缺失值的处理方式,系统默认是use='everthing'和method='pearson'。一般也需要计算方差和协差阵,用cov()函数即可,下面计算方差和两种相关系数,代码如图所示

4

当然如果只想知道部分变量之间的相关系数,则可以调用cor(x,y)来计算想要数据的相关系数。如图所示

5

相关性的显著性检验:相关系数计算好之后,判断是否其具有显著性。则假设变量之间不相关,即总体相关系数为0.cor.test(x,y,alternative=,method=)得出某两个变量是否显著。默认情况下alternative=“two.side”即总体相关系数不等于0.若总体相关系数小于0,取“less”,大于0取“greater”。如下图,检验两个变量的显著性,概率为p-value=1.217e-11,上亿次都少于一次的机会见到0.065这样大的样本相关度,几乎不可能,拒绝原假设。即两变量的总体相关度不为0.

6

cor.test函数只能每次检验一种相关关系。而psych包corr.tesr()函数可以做总体(13个特征)的相关检验。corr.test(data,use='complete') use取值有两种“pairwise”,'complete'是处理缺失值的,代码如图所示,可以清晰相关系数对应的概率。

注意事项

mothod是对应不同的相关系数名称

推荐信息