R 在所有可能的组合上运行函数

R 在所有可能的组合上运行函数,r,algorithm,function,combinations,R,Algorithm,Function,Combinations,我有一个关于我试图创建的函数的概念性问题 我希望创建一种网络图。为了做到这一点,我必须看6个表,并在两个表中相互比较。连接将基于一个变量,这两个表的每个可能组合都可能共享该变量 我们把这个变量称为x 例如,如果table1$x1=table2$x3,我想把变量x1(对于table1)放在第三个表中。在一列和第二列中,只有两个表之间的共享变量表示该变量在表1和表2之间共享 我希望这种比较贯穿于表中所有可能的条目组合。因此,我必须比较: 1&2、1&3、1&4、1&5、1&6 2&3、2&4、2&5

我有一个关于我试图创建的函数的概念性问题

我希望创建一种网络图。为了做到这一点,我必须看6个表,并在两个表中相互比较。连接将基于一个变量,这两个表的每个可能组合都可能共享该变量

我们把这个变量称为x

例如,如果table1$x1=table2$x3,我想把变量x1(对于table1)放在第三个表中。在一列和第二列中,只有两个表之间的共享变量表示该变量在表1和表2之间共享

我希望这种比较贯穿于表中所有可能的条目组合。因此,我必须比较:

1&2、1&3、1&4、1&5、1&6

2&3、2&4、2&5、2&6、

三、四、三、五、三、六、

四、五、四、六、

5和6

其中每个数字表示一个表号

其中,最后的输出将是一个表,说明一个表和另一个表之间的所有共享变量,以及哪两个表共享此变量


谢谢大家的时间和帮助。

这里有一个例子,
f(c(i,j))
计算
表[[i]]
表[[j]]
nms
是一个对名称向量,最后一行为每对计算
f

tables <- lapply(1:6, "*", BOD) # list of 6 tables used as input
f <- function(ix) { 
  tab1 <- tables[[ix[1]]]
  tab2 <- tables[[ix[2]]]
  sum(abs(tab1 - tab2))
}
nms <- combn(seq_along(tables), 2, paste, collapse = "-")
setNames(combn(seq_along(tables), 2, f), nms)

这很有帮助。非常感谢。
1-2 1-3 1-4 1-5 1-6 2-3 2-4 2-5 2-6 3-4 3-5 3-6 4-5 4-6 5-6 
111 222 333 444 555 111 222 333 444 111 222 333 111 222 111