假设我有一个集合S,它确实是由在较小的集合上乘坐笛卡尔产品制成的。例如,也许是a = {0,1,2},而s = a^3。是否有一种功能或有效的方法来获取S中的所有元素,而无需定义3^3个元素中的每个元素?
您可以使用 expand.grid
占多个列表,并在其上做笛卡尔产品
S <- list(0,1,2)
expand.grid(S,S,S)
这是输出:
Var1 Var2 Var3
1 0 0 0
2 1 0 0
3 2 0 0
4 0 1 0
5 1 1 0
6 2 1 0
7 0 2 0
8 1 2 0
9 2 2 0
10 0 0 1
11 1 0 1
12 2 0 1
13 0 1 1
14 1 1 1
15 2 1 1
16 0 2 1
17 1 2 1
18 2 2 1
19 0 0 2
20 1 0 2
21 2 0 2
22 0 1 2
23 1 1 2
24 2 1 2
25 0 2 2
26 1 2 2
27 2 2 2