【发布时间】:2017-03-08 08:59:58
【问题描述】:
我想得到 n 个变量的所有可能组合中的所有公共元素。
假设我们有 3 个变量:a、b 和 c,每个变量有 4、2 和 3 个元素。我想创建一个数据框,在一列(a、b、c、ab、ac、bc 和 abc)中包含所有可能的组合,在第二列中包含常见元素。示例:
输入:
a<-c("x1","x2","x3","x4")
b<-c("x2","x5")
c<-c("x3","x4","x6")
我想要一个看起来像这样的输出:
name elements
1 a "x1","x2","x3","x4"
2 b "x2","x3","x5"
3 c "x3","x4","x6"
4 ab "x1","x2","x3","x4","x5"
5 ac "x1","x2","x3","x4","x6"
6 bc "x2","x3","x4","x5","x6"
7 abc "x1","x2","x3","x4","x5","x6"
到目前为止,我尝试过这个:
all1<-c("a","b","c")
all2<-list(a,b,c)
all3<-c(a,b,c)
sapply ( 1:3, function(x) combn(all1,x))
sapply ( 1:3, function(x) combn(all2,x))
sapply ( 1:3, function(x) combn(all3,x))
【问题讨论】:
标签: r combinations