r - R中按组划分的spearman相关性

标签 r

你如何在 R 中按组计算 Spearman 相关性。我发现以下链接按组讨论 Pearson 相关性。但是当我尝试用 spearman 替换类型时,它不起作用。

https://stats.stackexchange.com/questions/4040/r-compute-correlation-by-group

最佳答案

对于基本的 R 解决方案,这个怎么样:

df <- data.frame(group = rep(c("G1", "G2"), each = 10),
                 var1 = rnorm(20),
                 var2 = rnorm(20))

r <- by(df, df$group, FUN = function(X) cor(X$var1, X$var2, method = "spearman"))
# df$group: G1
# [1] 0.4060606
# ------------------------------------------------------------ 
# df$group: G2
# [1] 0.1272727

然后,如果您想要 data.frame 形式的结果:
data.frame(group = dimnames(r)[[1]], corr = as.vector(r))
#   group      corr
# 1    G1 0.4060606
# 2    G2 0.1272727

编辑 : 如果您喜欢 plyr -基于解决方案,这里是一个:
library(plyr)
ddply(df, .(group), summarise, "corr" = cor(var1, var2, method = "spearman"))

关于r - R中按组划分的spearman相关性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8791650/

相关文章:

r - tsclean 不适用于单个矢量数据

r - 在 R 中绘制跨多个级别的二进制频率

r - 如何计算和标记r数据框中的唯一值

R 封装矩阵 : get number of non-zero entries per rows/columns of a sparse matrix

r - R中的惰性序列

r - 如何从字符向量中解析CSV数据以提取数据帧?

r - 如何在R中按组获取累计和?

r - 对 r 中的动态列进行条件求和

r - 使用 VGLM 的伪 R^2

r - R中的条件计数和分组依据