如何对相关矩阵进行排序?

时间:2014-01-28 04:48:40

标签: r correlation ranking

我使用以下代码找到了数据的相关矩阵:

file_20 <- read.csv("C:/Desktop/ex.csv")
file_20
cor (file_20[,1:19], file_20[1:19], method ="spearman")

但是现在我如何对相关矩阵进行排名?有什么建议

注意:我有19列和20行(包括标题),我的目的是根据spearman等级相关性对列进行排名。

我试过

cor(rank(file_20 [,1:19]),rank(file_20 [1:19]),method =“spearman”)

显示输出为

[1] 1

是否可以选择让我的所有专栏排名?

请帮忙!

1 个答案:

答案 0 :(得分:1)

- 使用cor()的kendall方法参数代替:

df <- data.frame(x=c(1,2,3,4,5), y=c(5,4,3,2,1))  
cor(df, method="kendall") 
   x  y 
x  1 -1    
y -1  1   
R> 
From help(cor):

对于cor(),如果方法为"kendall""spearman“,则Kendall's tauSpearman's rho statistic用于估算基于排名的关联度量。如果数据不一定来自双变量正态分布,则更加健壮并且已被推荐。对于cov(),非Pearson方法是不寻常的但是为了完整性而可用。注意“spearman”基本上计算cor(R(x), R(y)) (or cov(.,.))其中R(u) := rank(u, na.last="keep")。在缺少值的情况下,根据使用的值计算排名,或者基于完整的观察结果,或者基于每对重新排名的成对完整性。