您的位置:首页 > 其它

相关

2017-11-06 00:00 10 查看
cor()和cov()

相关系数可以用来描述定量变量之间的关系,相关系数的符号(+-)表明关系的方向(正相关或负相关),其值大小表示关系的强弱程度(完全不相关时为0,完全相关时为1)

Pearson积差相关系数衡量了两个定量变量之间的线性相关程度

Spearman等级相关系数则衡量分级定序变量之间的相关程度

Kendall’s Tau相关系数也是一种非参数的等级相关度量

cov()函数用来计算协方差

cor()函数用来计算上述三种相关系数, 参数很多,格式为

cor(x, use= ,method= )


参数 描述
x 矩阵或数据框
use 指定缺失数据的处理方式。可选的方式为
all.obs(假设不存在缺失的数据--遇到缺失数据是将报错)
everything(遇到缺失是,相关系数的计算结果将被missing)
complete.obs(行删除)
pairwise.complete.obs(成对删除,pairwise deletion)
默认参数为:use=“everything”
method 指定系数的类型。可选类型为pearson、spearman或kendall
默认参数为:method=“pearson”


> states<- state.x77[,1:6]
> cov(states)      #计算协方差和方差
#在概率论和统计学中,协方差用于衡量两个变量的总体误差,而方差是协方差的一种特殊情况,既当两个变量相同的情况
Population      Income   Illiteracy     Life Exp      Murder      HS Grad
Population 19931683.7588 571229.7796  292.8679592 -407.8424612 5663.523714 -3551.509551
Income       571229.7796 377573.3061 -163.7020408  280.6631837 -521.894286  3076.768980
Illiteracy      292.8680   -163.7020    0.3715306   -0.4815122    1.581776    -3.235469
Life Exp       -407.8425    280.6632   -0.4815122    1.8020204   -3.869480     6.312685
Murder         5663.5237   -521.8943    1.5817755   -3.8694804   13.627465   -14.549616
HS Grad       -3551.5096   3076.7690   -3.2354694    6.3126849  -14.549616    65.237894

> cor(states)      #计算Pearson积差相关系数
Population     Income Illiteracy    Life Exp     Murder     HS Grad
Population  1.00000000  0.2082276  0.1076224 -0.06805195  0.3436428 -0.09848975
Income      0.20822756  1.0000000 -0.4370752  0.34025534 -0.2300776  0.61993232
Illiteracy  0.10762237 -0.4370752  1.0000000 -0.58847793  0.7029752 -0.65718861
Life Exp   -0.06805195  0.3402553 -0.5884779  1.00000000 -0.7808458  0.58221620
Murder      0.34364275 -0.2300776  0.7029752 -0.78084575  1.0000000 -0.48797102
HS Grad    -0.09848975  0.6199323 -0.6571886  0.58221620 -0.4879710  1.00000000

> cor(states, method="spearman")   #计算了Spearman等级相关系数
Population     Income Illiteracy   Life Exp     Murder    HS Grad
Population  1.0000000  0.1246098  0.3130496 -0.1040171  0.3457401 -0.3833649
Income      0.1246098  1.0000000 -0.3145948  0.3241050 -0.2174623  0.5104809
Illiteracy  0.3130496 -0.3145948  1.0000000 -0.5553735  0.6723592 -0.6545396
Life Exp   -0.1040171  0.3241050 -0.5553735  1.0000000 -0.7802406  0.5239410
Murder      0.3457401 -0.2174623  0.6723592 -0.7802406  1.0000000 -0.4367330
HS Grad    -0.3833649  0.5104809 -0.6545396  0.5239410 -0.4367330  1.0000000


#计算非方形的相关矩阵
> x <- states[,c("Population", "Income", "Illiteracy", "HS Grad")]
> y <- states[,c("Life Exp", "Murder")]
> cor(x,y)
Life Exp     Murder
Population -0.06805195  0.3436428
Income      0.34025534 -0.2300776
Illiteracy -0.58847793  0.7029752
HS Grad     0.58221620 -0.4879710


偏相关

是指控制一个或多个定量变量时,另外两个定量变量之间的相互关系,可以使用ggm包的pcor()函数家us年偏相关系数,格式为

pcor(u , s)

其中的 u 是一个数值向量,前两个数值表示要计算相关系数的变量下标,其余的数值为条件变量(即要排除影响的变量)的下标,其余的数值为条件变量(即要排除影响的变量)的下标,S为变量的协方差阵



> library(ggm)
> colnames(states)
[1] "Population" "Income"     "Illiteracy" "Life Exp"   "Murder"     "HS Grad"
> pcor(c(1,5,2,3,6), cov(states))
[1] 0.3462724
#本例中,在控制了收入、文盲率、高中毕业率的影响时,人口和谋杀率之间的相关系数为0.346,偏相关系数常用于社会科学的研究中


其他类型的相关系数

polycor包中的hetcor()函数可以计算一种混合的相关矩阵,其中包括数值型变量的Pearson积差相关系数、数值型变量和有序变量之间的多系列相关系数、有序变量之间的多分格相关系数以及二分变量之间的四分相关系数,多系列、多分格和四分相关系数都假设有序变量或二分变量由潜在的正态分布导出,更多参考帮助吧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  R 相关