我有一个(144,1378)df;它由106个参数的13个实验组成。
第一组是参考组。我想计算每个106参数的corr,对于每个组,IN与第一组的关系。
即,例如,用列1计算列107的corr - >返回带有参数名称和组的结果。
然后第213列(107 + 106)的第1列为第1列......直到列1272第1列......
但我在修复前106列作为参考依据时遇到了麻烦:-(。
MK_comp_par1 <-sapply(seq(1, 1378, by=106),function(i) cor(bind_sc[,i:(i+1)], method ="kendall", use = "complete"))
答案 0 :(得分:2)
你必须要找这样的东西:
bind_sc <- matrix(replicate(144*1378, rnorm(1)), nrow = 144)
i <- seq(1, 1378, by=106)
j <- seq(0, 105, by=1)
Res = list()
Res <- lapply(j,function(j,i)
{
cor(x=bind_sc[,j+1], y=bind_sc[,i+j], method ="kendall", use = "complete")
},i)
Res列表的[[i]]值是数据的第i列与其他实验中的相应数据之间的相关性。希望它有所帮助。
答案 1 :(得分:0)
我无法在没有示例数据的情况下对此进行测试,但它应该有效:
MK_comp_par1 <- mapply(function(x,y) cor(bind_sc[,c(x,y)], method = "kendall",
use = "complete"), seq(1, 106), seq(107, 1378))
这应该有效,因为第二个向量是第一个向量的精确倍数,因此mapply
将从1
开始,x
每106次迭代。
请注意,这可能会为您提供长度为1272的输出列表,您可能希望将其拆分106以获得每个实验的相关矩阵列表。