我有两个集合,每个集合中的任何一个元素都可以与另一个集合中的任何一个元素匹配。例如,如果我有集合{1, 2, 3}和{4, 5, 6},则可能的组合如下:
1, 4
2, 5
3, 6
1, 4 2, 6 3, 5
1, 5 2, 4 3, 6
1, 5 2, 6 3, 4
1, 6 2, 4 3, 5
1, 6 2, 5 3, 4
因此,在匹配这两个集合时,有6种可能的方式可以将这两个集合结合在一起。是否有一种方法可以确定给定两个任意向量的所有可能集合组合?
我尝试使用`tidyr::expand_grid()`,但是它提供了两个向量的所有可能组合,而不考虑每个元素在给定集合中只能与另一个向量中的一个元素匹配的限制。
1, 4 2, 6 3, 5
1, 5 2, 4 3, 6
1, 5 2, 6 3, 4
1, 6 2, 4 3, 5
1, 6 2, 5 3, 4
因此,在匹配这两个集合时,有6种可能的方式可以将这两个集合结合在一起。是否有一种方法可以确定给定两个任意向量的所有可能集合组合?
我尝试使用`tidyr::expand_grid()`,但是它提供了两个向量的所有可能组合,而不考虑每个元素在给定集合中只能与另一个向量中的一个元素匹配的限制。
tidyr::expand_grid(set1 = c(1, 2, 3), set2 = c(4, 5, 6))
#> # A tibble: 9 × 2
#> set1 set2
#> <dbl> <dbl>
#> 1 1 4
#> 2 1 5
#> 3 1 6
#> 4 2 4
#> 5 2 5
#> 6 2 6
#> 7 3 4
#> 8 3 5
#> 9 3 6
使用reprex v2.0.2于2023年2月25日创建