2
我想獲得所有可能的n個變量組合中的所有公共元素。假設我們有3個變量:a,b和c,每個變量有4個,2個和3個元素。我想創建一個數據框,其中包含列(a,b,c,ab,ac,bc和abc)中的所有可能組合以及第二列中的常用元素。例如:R獲得所有可能的N個變量組合的所有公共元素
輸入:
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))