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