gpt4 book ai didi

r - 相同维度的两个矩阵之间的 Spearman 相关性

转载 作者:行者123 更新时间:2023-12-02 17:34:01 30 4
gpt4 key购买 nike

我有两个维度相等的矩阵(p 和 e),我想在同名的列之间建立斯 PIL 曼相关。我想在矩阵 (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

你能告诉我哪里出了问题吗?或者建议另一种方法?

最佳答案

不需要所有这些循环和索引等:

# test data
p <- matrix(data = rnorm(100),nrow = 10)
e <- matrix(data = rnorm(100),nrow = 10)

cor <- corr.test(p, e, method="spearman", adjust="none")
data.frame(name=colnames(p), r=diag(cor$r), p=diag(cor$p))

# name r p
#a a 0.36969697 0.2930501
#b b 0.16363636 0.6514773
#c c -0.15151515 0.6760652
# etc etc

如果矩阵的名称还不匹配,则匹配它们:

cor <- corr.test(p, e[,match(colnames(p),colnames(e))], method="spearman", adjust="none")

关于r - 相同维度的两个矩阵之间的 Spearman 相关性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29069279/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com