R 生成包含两个列表之间所有可能组合的数据帧
您好,我有两个列表:R 生成包含两个列表之间所有可能组合的数据帧,r,dplyr,combinations,dt,R,Dplyr,Combinations,Dt,您好,我有两个列表: list1<-c("A","B") list2<-c(1,2,3) 解决方案: > expand.grid(list1,list2) 没有我所说的,因为它给出: Var1 Var2 1 A 1 2 B 1 3 A 2 4 B 2 5 A 3 6 B 3 我想你可以试试下面的扩展.grid data.frame( lst1 = lis
list1<-c("A","B")
list2<-c(1,2,3)
解决方案:
> expand.grid(list1,list2)
没有我所说的,因为它给出:
Var1 Var2
1 A 1
2 B 1
3 A 2
4 B 2
5 A 3
6 B 3
我想你可以试试下面的
扩展.grid
data.frame(
lst1 = list1,
lst2 = c(t(rev(expand.grid(rep(list(list2), length(list1)))))),
Possibilities = paste0("P", rep(seq(length(list2)^length(list1)), each = length(list1)))
)
给
lst1 lst2 Possibilities
1 A 1 P1
2 B 1 P1
3 A 1 P2
4 B 2 P2
5 A 1 P3
6 B 3 P3
7 A 2 P4
8 B 1 P4
9 A 2 P5
10 B 2 P5
11 A 2 P6
12 B 3 P6
13 A 3 P7
14 B 1 P7
15 A 3 P8
16 B 2 P8
17 A 3 P9
18 B 3 P9
这回答了你的问题吗?这不是同一件事,试试他们的代码,你会发现你不会有相同的输出在你的输出中条目1和条目7之间有什么区别?列表1中的“A”和列表2中的“1”不都是吗?如果不清楚地解释您的逻辑,很难知道如何提供帮助。调用
expand.grid
的方式确实给出了这两个向量的所有组合。无论是什么逻辑使得一个(A,1)不同于另一个(A,1),都应该在问题中
lst1 lst2 Possibilities
1 A 1 P1
2 B 1 P1
3 A 1 P2
4 B 2 P2
5 A 1 P3
6 B 3 P3
7 A 2 P4
8 B 1 P4
9 A 2 P5
10 B 2 P5
11 A 2 P6
12 B 3 P6
13 A 3 P7
14 B 1 P7
15 A 3 P8
16 B 2 P8
17 A 3 P9
18 B 3 P9