Spearman相关性与使用R中的等级的Pearson相关性不相同

时间:2016-01-12 17:42:52

标签: r correlation

在查看R帮助时说:

  

请注意" spearman"基本上计算cor(R(x),R(y))(或cov(。,。))其中R(u):= rank(u,na.last =" keep")

然而,当我尝试计算相关性时,一次使用方法=" spearman"一次用方法="皮尔森"但是当我的数据包含缺失时,我得到了不同的结果。

set.seed(23525)
a<-rnorm(100,50,1)
b<-a+rnorm(100,0,2)
a[1]<-NA
b[2]<-NA

cor(a,b,use="complete.obs",method="spearman") # 0.3292785
cor(rank(a,na.last="keep"),rank(b,na.last="keep"),use="complete.obs") # 0.3255958 

使用&#34; complete.obs&#34;应该做一个案例删除我的数据。但显然它没有。如果我手动删除,我会得到预期的结果:

cor(rank(a[-c(1,2)],na.last="keep"),rank(b[-c(1,2)],na.last="keep"),use="complete.obs") 
# 0.3292785

所以我很困惑为什么两种方法都不会产生相同的结果。有人可以解释一下吗?我有什么东西可以忽略吗?

0 个答案:

没有答案