R语言相关分析

R语⾔相关分析
相关分析
相关系数可以⽤来描述定量变量之间的关系。相关系数的符号(±)表明关系的⽅向(正相关或负相关),其值的⼤⼩表⽰关系的强弱程度(完全不相关时为0,完全相关时为1)。我们将关注多种相关系数和相关性的显著性检验。我们将使⽤R基础安装中的state.x77数据集,它提供了美国50个州在1977年的Population(⼈⼝)、Income(收⼊)、Illiteracy(⽂盲率)、LifeExp(预期寿命)、Murder(谋杀率)和HSGrad(⾼中毕业率)数据。数据集中还收录了Frost(⽓温)和Area(⼟地⾯积数据),但为了节约空间,这⾥将其丢弃。
1.相关的类型
R可以计算多种相关系数,包括Pearson相关系数、Spearman相关系数、Kendall相关系数、偏相关系数、多分格(polychoric)相关系数和多系列(polyserial)相关系数。
1.1. Pearson、Spearman和Kendall相关
Pearson积差相关系数衡量了两个定量变量之间的线性相关程度。它是说明有直线关系的两变量间,相关关系密切程度和相关⽅向的统计指标。
Spearman等级相关系数则衡量分级定序变量之间的相关程度。
Kendall’s Tau相关系数也是⼀种⾮参数的等级相关度量。如欲考察⼏位⽼师对多篇作⽂的评分标准是否⼀致(⼜称评分者信度),就应该使⽤肯德尔系数。
对于定序数据⽽⾔, Spearman系数与Pearson系数是等价的;如果⼀个变量为定量数据,⼀个变量为定序数据,应计算Spearman系数或将定量数据变为定序数据后使⽤Pearson系数。
肯达尔t系数⼀个重要优点在于便于解释,如果肯达尔系数等于1/3,意味着:⼀致情况的出现频率是不⼀致的两倍(1+t/1-t)
cor() 函数可以计算这三种相关系数,⽽cov()函数可⽤来计算协⽅差。两个函数的参数有很多,其中与相关系数的计算有关的参数可以简化为:
cor(x,use=,method=)
蓝田股份
x指矩阵或数据框;
use指定缺失数据的处理⽅式,可选的⽅式为all.obs(假设不存在缺失数据——遇到缺失数据时将报错)、everything(遇到缺失数据时,相关系数的计算结果将被设为missing)、complete.obs(⾏删除)以及pairwiseplete.obs(成对删除,pairwisedeletion);
method指定相关系数的类型。可选类型为pearson、spearman或kendall
states<-state.x77[,1:6]
cov(states)
cor(states)
语音通讯
cor(states,method = "spearman")
cor(mtcars,method = "kendall")
请注意,在默认情况下得到的结果是⼀个⽅阵(所有变量之间两两计算相关)。你同样可以计算⾮⽅形的相关矩阵。观察以下⽰例:
x<-states[,c("Population","Income","Illiteracy","HS Grad")]
y<-states[,c("Life Exp","Murder")]
cor(x,y)
当你对某⼀组变量与另外⼀组变量之间的关系感兴趣时,cor()函数的这种⽤法是⾮常实⽤的。注意,上述结果并未指明相关系数是否显著不为0(即,根据样本数据是否有⾜够的证据得出总体相关系数不为0的结论)。由于这个原因,你需要对相关系数进⾏显著性检验.
1.2. 偏相关
偏相关是指在控制⼀个或多个定量变量时,另外两个定量变量之间的相互关系。偏相关分析也称净相关分析,它在控制其他变量的线性影响的条件下分析两变量间的线性相关性你可以使⽤ggm包中的pcor()函数计算偏相关系数。 ggm 包没有被默认安装,在第⼀次使⽤之前需要先进⾏安装。
函数调⽤格式为:
pcor(u,s)
其中的 u 是⼀个数值向量,前两个数值表⽰要计算相关系数的变量下标,其余的数值为条件变量(即要排除影响的变量)的下标。 S 为变量的协⽅差阵。
library(ggm)
住宅部品#在控制了收⼊、⽂盲率和⾼中毕业率时
#⼈⼝和谋杀率的偏相关系数
pcor(c(1,5,2,3,6),cov(states))
1.3. 其他类型相关
polycor 包中的 hetcor()函数可以计算⼀种混合的相关矩阵,其中包括数值型变量的Pearson积差相关系数、数值型变量和有序变量之间的多系列相关系数、有序变量之间的多分格相关系数以及⼆分变量之间的四分相关系数。多系列、多分格和四分相关系数都假设有序变量或⼆分变量由潜在的正态分布导出。
2.相关性的显著性检验
进⾏统计显著性检验时,常⽤的原假设为变量间不相关(即总体的相关系数为0)。
2.1对单个的Pearson、Spearman和Kendall相关系数进⾏检验。
简化后的使⽤格式为:
x 和 y 为要检验相关性的变量;
alternative 则⽤来指定进⾏双侧检验或单侧检验(取值为”two.side”、”less”或”greater”),当研究的假设为总体的相关系数⼩于0时,请使⽤alternative=”less”。在研究的假设为总体的相关系数⼤于0时,应使⽤
alternative=”greater” 。在默认情况下,假设为 alternative=”two.side” (总体相关系数不等于0)。
method ⽤以指定要计算的相关类型( “pearson” 、”kendall” 或 “spearman” )。
这段代码检验了预期寿命和谋杀率的Pearson相关系数为0的原假设。假设总体的相关度为0,则预计在⼀千万次中只会有少于⼀次的机会见到0.703这样⼤的样本相关度(即p=1.258e 08)。由于这种情况⼏乎不可能发⽣,所以可以拒绝原假设,即预期寿命和谋杀率之间的总体相关度不为0。
使⽤格式为:st(x,use= ,method= )
x指矩阵或数据框;
use= 的取值可为 "pairwise" 或 "complete" (分别表⽰对缺失值执⾏成对删除或⾏删除);
method ⽤以指定要计算的相关类型( "pearson"(默认) 、"kendall" 或 "spearman" );
library(psych)
这⾥可以看到,⼈⼝数量和⾼中毕业率的相关系数( 0.10)
2.2偏相关检验
在多元正态性的假设下,psych包中的st()函数可以⽤来检验在控制⼀个或多个额外变量时两个变量之间的条件独⽴性。
使⽤格式为:st(r,q,n)
r 是由 pcor() 函数计算得到的偏相关系数, q 为要控制的变量数(以数值表⽰位置), n 为样本⼤⼩。
东北菱psych 包中的 r.test() 函数提供了多种实⽤的显著性检验⽅法。
3.相关关系的可视化
以相关系数表⽰的⼆元关系可以通过散点图和散点图矩阵进⾏可视化,⽽相关图(correlogram)则为以⼀种有意义的⽅式⽐较⼤量的相关系数提供了⼀种独特⽽强⼤的⽅法。
以 mtcars 数据框中的变量相关性为例,它含有11个变量,对每个变量都测量了32辆汽车。
mpg  Miles/(US) gallon  英⾥/加仑
考风考纪cyl  Number of cylinders⽓缸数
disp    Displacement (cu.in.)发动机排量
hp    Gross horsepower总马⼒
drat    Rear axle ratio 最终传动⽐
wt    Weight (1000 lbs)重量(千英镑)
qsec    1/4 mile time  1/4⽶加速时间
vs    V/S
am    Transmission (0 = automatic, 1 = manual)换挡⽅式
gear    Number of forward gears前进档数量
carb    Number of carburetors化油器数量
利⽤下⾯的代码,你可以获得该数据的相关系数:
options(digits = 2)
cor(mtcars)
利⽤ corrgram 包中的 corrgram() 函数,可以以图形⽅式展⽰该相关系数矩阵。
corrgram() 函数基本格式为:corrgram(x,order= ,panel= ,text.panle= ,diag.panel= )
x 是⼀⾏⼀个观测的数据框;
order = TRUE 时,相关矩阵将使⽤主成分分析法对变量重排序,这将使得⼆元变量的关系模式更为明显。order = FALSE 时,变量按原来的顺序输出。
选项 panel 设定⾮对⾓线⾯板使⽤的元素类型。你可以通过选项lower.panel和upper.panel来分别设置主对⾓线下⽅和上⽅的元素类型。⽽ text.panel 和 diag.p anel 选项控制着主对⾓线元素类型。
⾮对⾓线panel选项含义
panel.pie⽤饼图的填充⽐例来表⽰相关性⼤⼩
panel.shade⽤阴影的深度来表⽰相关性
panel.ellipse绘制置信椭圆和平滑拟合曲线
panel.pts绘制散点图
主对⾓线panel选项含义
panel.minmax输出变量的最⼤最⼩值
<输出的变量名字
library(corrgram)
corrgram(mtcars,order=TRUE,lower.panel=panel.shade,upper.panel=panel.pie,
text.,main="Correlogram of Mtcars intercorrelations" )
我们先从下三⾓单元格(在主对⾓线下⽅的单元格)开始解释这幅图形。默认地,蓝⾊和从左下指向右上的斜杠表⽰单元格中的两个变量呈正相关。反过来,红⾊和从左上指向右下的斜杠表⽰变量呈负相关。⾊彩越深,饱和度越⾼,说明变量相关性越⼤。相关性接近于0的单元格基本⽆⾊。本图为了将有相似相关模式的变量聚集在⼀起,对矩阵的⾏和列都重新进⾏了排序(使⽤主成分法)。
从图中含阴影的单元格中可以看到, gear 、 am 、 drat 和 mpg 相互间呈正相关, wt 、 disp 、hp 和 carb 相互间也呈正相关。但第⼀组变量与第⼆组变量呈负相关。你还可以看到 carb 和 am 、vs 和 gear 、 vs 和 am 以及 drat 和 qsec 四组变量间的相关性很弱。
上三⾓单元格⽤饼图展⽰了相同的信息。颜⾊的功能同上,但相关性⼤⼩由被填充的饼图块的⼤⼩来展⽰.正相关性将从12点钟处开始顺时针填充饼图,⽽负相关性则逆时针⽅向填充饼图。
library(corrgram)
corrgram(mtcars,order=TRUE,lower.panel=panel.ellipse,
upper.panel=panel.pts,text.,生卒年月
diag.panel=panel.minmax,
main="Correlogram of Mtcars intercorrelations" )
我们在下三⾓区域使⽤平滑拟合曲线和置信椭圆,上三⾓区域使⽤散点图。散点图限制了⼀些变量的可⽤值。例如,挡位数须取3、4或5,⽓缸数须取4、6或者8。am(传动类型)和vs(V/S)都是⼆值型。因此上三⾓区域的散点图看起来很奇怪。
为数据选择合适的统计⽅法时,你⼀定要保持谨慎的⼼态。指定变量是有序因⼦还是⽆序因⼦可以为之提供有⽤的诊断。当R知道变量是类别型还是有序型时,它会使⽤适合于当前测量⽔平的统计⽅法。

本文发布于:2024-09-22 08:31:16,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/485499.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:变量   数据   相关   计算
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议