在R中运行需要两个元素并希望将两个元素逐个进行比较的函数元素、两个、函数

由网友(Ronin (浪人))分享简介:我知道这可能是一个非常简单的自动迭代问题。我正在使用geomorph运行PLS回归。此函数需要two 3D arrays内部(A1和A2),如上一链接中的文档所示。基本上该函数为:two.b.pls(A1, A2, iter = 999)重点是我有8个不同的3D矩阵数组,并且希望对任何可能的组合运行PLS分析...

我知道这可能是一个非常简单的自动迭代问题。

我正在使用geomorph运行PLS回归。

matlab中函数人rlocus的作用是

此函数需要two 3D arrays内部(A1A2),如上一链接中的文档所示。

基本上该函数为:

two.b.pls(A1, A2, iter = 999)

重点是我有8个不同的3D矩阵数组,并且希望对任何可能的组合运行PLS分析。

更明确地说,如果我的数组被命名为Group_1Group_2...Group_8,我需要迭代地分析这些组合:

two.b.pls(Group_1, Group_2, iter = 999)
two.b.pls(Group 1, Group 3, iter = 999)
...
two.b.pls(Group_7, Group_8, iter = 999)

推荐答案

如果向量中有对象名称,请使用combn返回成对组合,get值并将它们传递给two.b.pls函数

nm1 <- c('Frontal', 'Face', 'Parietal_L', 'Parietal_R', 'Temporal_L', 'Temporal_R', 'Occipital', 'Sphenoid')
out <- combn(nm1, 2, FUN = function(x)
     two.b.pls(get(x[1]), get(x[2]), iter = 999), simplify = FALSE)

如果我们想要获得组合名称,一个选项是namelist元素和combn向量输出

names(out) <- combn(nm1, 2, FUN = paste, collapse="_")
阅读全文

相关推荐

最新文章