1.相关性分析
       相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析。简单来说就是变量之间是否有关系。
       相关性可能是正相关,也可能是负相关,需要根据相关系数决定。相关系数的大小表示相关程度的强弱。

2.相关性衡量指标
       Pearson相关系数、Spearman相关系数、Kendall相关系数、偏相关系数、多分格(polychoric)相关系数和多系列(polyserial)相关系数。

       和独立性检验不同,相关性当中每种方法都没有独立的函数,这里计算相关系数都使用同一个函数cor。cor函数可以计算三种相关系数:pearson、kendall、spearman。具体使用哪种方法,可以通过函数中的method参数指定。函数中的use参数表示如何处理缺失值,是不处理还是删除等等。

3.实例(使用数据集state.x77)

cor(state.x77)

r语言中cor函数 r语言cor函数的用法及实例_正态分布



       cov函数:计算协方差,衡量两个变量的总体误差,在计算偏相关的时候需要用到协方差的结果。

cov(state.x77)

r语言中cor函数 r语言cor函数的用法及实例_协方差_02

       如果只想计算一组变量与另一组变量之间的关系,而不想将两两变量之间都计算一次,cor函数也可以很方便的实现。

x <- state.x77[,c(1,2,3,6)]
y <- state.x77[,c(4,5)]
cor(x,y)

r语言中cor函数 r语言cor函数的用法及实例_协方差_03


4.描述相关性的其他指标,例如偏相关系数、多分格相关系数和多系列相关系数等等,可以通过R的扩展包来实现。

ggm包中的pcor可以用来计算偏相关系数。偏相关是指在控制一个或多个变量时,剩余其他变量之间的相互关系。

pcor(u,s) #u是一个向量,向量中的前两个值是要计算的相关系数的下标,其余数值为条件变量的下标;s是cov函数计算出来的协方差结果。

library(ggm)
colnames(state.x77)
pcor(c(1,5,2,3,6),cov(state.x77))

结果输出0.3462724。

5.相关性检验函数
cor.test(x,y,alternative,method)
      - x,y表示向量;
      - alternative指定单侧检验还是双侧检验,two.sided同时检验正负相关,greater检验正相关,less检验负相关;
      - method指定使用哪种相关性衡量指标(pearson、kendall还是spearman)

计算state.x77中谋杀率与文盲率之间的相关性:

cor.test(state.x77[,3],state.x77[,5])

r语言中cor函数 r语言cor函数的用法及实例_协方差_04


解析:p-value值远小于0.05,说明谋杀率与文盲率相关,此外还给出了相关系数为0.7029752,置信区间为0.5279280~0.8207295。

置信区间:confidence interval,是指样本统计量所构造的总体参数的估计区间。在统计学中,一个概率样本的置信区间是对这个样本的某个总体参数的区间估计。置信区间展现的是这个参数的真实值有一定概率落在测量结果的周围的程度。置信区间给出的是被测量参数的测量值的可信程度。

psych包中的corr.test函数:可以一次性检验多个变量之间的相关性。
library(psych)
corr.test(state.x77)

ggm包中的pcor.test函数:检验偏相关性。
pcor.test(x,q,n)
      - x是pcor计算的偏相关系数;
      - q是要控制的变量数;
      - n是样本数。

x <- pcor(c(1,5,2,3,6),cov(state.x77))
pcor.test(x,3,50)

r语言中cor函数 r语言cor函数的用法及实例_ide_05

6.分组数据的相关性检验
       使用t检验,即student’s t-test,t检验是用t分布理论推论差异发生的概率,从而比较两个平均数的差异是否显著。主要用于样本含量较小,一般小于30个,总体标准差未知的正态分布数据。
(使用MASS包中的UScrime数据集举例)

t.test(Prob~So,data=UScrime)

r语言中cor函数 r语言cor函数的用法及实例_协方差_06


解析:结果p-value值小于0.05,因此可以拒绝南方各州与非南方各州拥有相同监禁概率的假设。

       如果想在多于两个组之间进行比较,若数据满足正态分布,可以使用方差分析;若不满足正态分布,则需要使用非参数检验方法。
       非参数检验称为nonparametric tests,在总体方差未知或知道甚少的情况下,利用样本数据对总体分布形态等进行推断的方法。由于非参数检验方法在推断过程中不涉及有关总体分布的参数,因而得名为“非参数”检验。
       参数检验称为parametric tests,是在总体分布形式已知的情况下,对总体分布的参数如均值、方差等进行推断的方法。也就是数据分布已知,比如满足正态分布。