【问题标题】:how to rank a correlation matrix?如何对相关矩阵进行排名?
【发布时间】:2014-02-19 05:55:32
【问题描述】:

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

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

是否有任何选项可以让我在表格中的所有列排名?

请帮忙!

【问题讨论】:

    标签: r correlation ranking


    【解决方案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")。在缺失值,排名是根据使用值计算的,或者基于完整的观察,或者基于成对的完整性,并为每对重新排序。

    【讨论】:

    • cor (rank(file_20[,1:19]), rank(file_20[1:19]), method ="kendall") 我尝试使用 kendall,它显示了相同的输出 [1] 1
    猜你喜欢
    • 2017-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-28
    • 2013-07-03
    • 1970-01-01
    • 2012-11-15
    相关资源
    最近更新 更多