R 为一对“创建循环”;“全部对全部”;多个对象的比较

R 为一对“创建循环”;“全部对全部”;多个对象的比较,r,R,我想对多个数据帧进行两两的“全部对全部”组合,在我的例子中是Mantel测试 我想比较大约50种不同的矩阵: Obj1,Obj2,Obj3,…,Objn library(vegan) mantel(Obj1, Obj2) 我是否可以对所有组合进行循环,可能会忽略冗余对?那么,只执行n*(n-1)/2的一半 我正在将结果收集到数据框中: result <- data.frame(mantel_r = NA, significance = NA) mant <- mantel(Obj1

我想对多个数据帧进行两两的“全部对全部”组合,在我的例子中是Mantel测试

我想比较大约50种不同的矩阵: Obj1,Obj2,Obj3,…,Objn

library(vegan)
mantel(Obj1, Obj2)
我是否可以对所有组合进行循环,可能会忽略冗余对?那么,只执行
n*(n-1)/2
的一半

我正在将结果收集到数据框中:

result <- data.frame(mantel_r = NA, significance = NA)
mant <- mantel(Obj1, Obj2)
result[01, c("mantel_r", "significance")] <- mant[3:4]

result我猜
mantel
来自
vegan

library(vegan)   
names1 <- ls(pattern="Obj")
names1 #I created 3 matrices with names starting with Obj
#[1] "Obj1" "Obj2" "Obj3"

Cmb1 <- combn(names1, 2)
lst1 <- lapply(split(Cmb1, col(Cmb1)), function(x) unlist(mantel(get(x[1]), get(x[2]))[3:4]))

我猜
mantel
来自
vegan

library(vegan)   
names1 <- ls(pattern="Obj")
names1 #I created 3 matrices with names starting with Obj
#[1] "Obj1" "Obj2" "Obj3"

Cmb1 <- combn(names1, 2)
lst1 <- lapply(split(Cmb1, col(Cmb1)), function(x) unlist(mantel(get(x[1]), get(x[2]))[3:4]))

您应该指定具有
mantel
功能的包。它在
图书馆(ecodist)
我有,对不起,它是素食主义者。你应该指定具有
壁炉架功能的包装。是在图书馆(ecodist)
我有,对不起,是纯素的。谢谢,效果很好。还有一个问题,在输出$
1
statistic signif 0.3697056 0.0060000中,是否可以在以$开头的行中写入对象对?谢谢,它工作得很好。还有一个问题,在输出$
1
statistic signif 0.3697056 0.0060000中,是否可以在以$开头的行中写入对象对?