我有两个相同维度的矩阵(p 和 e),我想要计算同名列之间的Spearman相关性。我希望把配对相关性的输出存在一个矩阵(M)里。
我使用了Psych库中的corr.test()
函数,以下是我的操作:
library(psych)
M <- data.frame(matrix(ncol=3,nrow=ncol(p)))
M[,1] <- as.character()
G <- colnames(p)
for(rs in 1:ncol(p){
M[rs,1] <- G[rs]
cor <- corr.test(p[,rs],e[,rs],method="spearman",adjust="none")
M[rs,2] <- cor$r
M[rs,3] <- cor$p
}
但是我收到了一个错误信息:
Error in 1:ncol(y) : argument of length 0
请问您能否告诉我哪里出了问题?或者提供另一种方法?
corr.test(as.data.frame(p[,rs]), as.data.frame(e[,rs]), method="spearman", adjust="none")
来实现。从错误消息中可以得到的提示是,该函数期望x/y参数具有二维数据结构。 - undefined