制作一个包含所有可能组合的 table
Making a table that has all possible combinations
我正在尝试制作一个 table,在 5 个列表中包含 1 和 0 的所有组合。例如,
11111
11110
10111
10011,
等等。顺序很重要。我目前正尝试在 Excel 中执行此操作,但我正在观看的有关该主题的所有视频都使用 Power Query 或我的 Excel 似乎丢失的其他方式。
在 Excel 甚至 R 中是否有一种简单的方法可以做到这一点?我有一些 R 经验,但更希望它在 Excel 中。非常感谢您的指导!
你所描述的可以被认为是“二进制中的所有 5 位数字”,它可以描述从 0 到 31 的整数。其中一个包中有一个 built-in 函数使用 R (R.utils
) 从整数转换为二进制。所以:
R.utils::intToBin(0:31)
结果
[1] "00000" "00001" "00010" "00011" "00100" "00101" "00110" "00111" "01000" "01001" "01010" "01011" "01100"
[14] "01101" "01110" "01111" "10000" "10001" "10010" "10011" "10100" "10101" "10110" "10111" "11000" "11001"
[27] "11010" "11011" "11100" "11101" "11110" "11111"
在Excel中,用0到31的数字制作一列。然后在旁边,输入DEC2BIN(A1,5)
并向下拖动。
R 中的 expand.grid()
函数旨在“[c]根据提供的向量或因子的所有组合创建数据框”,在这种情况下:
> expand.grid(lapply(numeric(5), function(x) c(0,1)))
Var1 Var2 Var3 Var4 Var5
1 0 0 0 0 0
2 1 0 0 0 0
3 0 1 0 0 0
4 1 1 0 0 0
5 0 0 1 0 0
6 1 0 1 0 0
7 0 1 1 0 0
8 1 1 1 0 0
9 0 0 0 1 0
10 1 0 0 1 0
11 0 1 0 1 0
12 1 1 0 1 0
13 0 0 1 1 0
14 1 0 1 1 0
15 0 1 1 1 0
16 1 1 1 1 0
17 0 0 0 0 1
18 1 0 0 0 1
19 0 1 0 0 1
20 1 1 0 0 1
21 0 0 1 0 1
22 1 0 1 0 1
23 0 1 1 0 1
24 1 1 1 0 1
25 0 0 0 1 1
26 1 0 0 1 1
27 0 1 0 1 1
28 1 1 0 1 1
29 0 0 1 1 1
30 1 0 1 1 1
31 0 1 1 1 1
32 1 1 1 1 1
我正在尝试制作一个 table,在 5 个列表中包含 1 和 0 的所有组合。例如,
11111 11110 10111 10011,
等等。顺序很重要。我目前正尝试在 Excel 中执行此操作,但我正在观看的有关该主题的所有视频都使用 Power Query 或我的 Excel 似乎丢失的其他方式。
在 Excel 甚至 R 中是否有一种简单的方法可以做到这一点?我有一些 R 经验,但更希望它在 Excel 中。非常感谢您的指导!
你所描述的可以被认为是“二进制中的所有 5 位数字”,它可以描述从 0 到 31 的整数。其中一个包中有一个 built-in 函数使用 R (R.utils
) 从整数转换为二进制。所以:
R.utils::intToBin(0:31)
结果
[1] "00000" "00001" "00010" "00011" "00100" "00101" "00110" "00111" "01000" "01001" "01010" "01011" "01100"
[14] "01101" "01110" "01111" "10000" "10001" "10010" "10011" "10100" "10101" "10110" "10111" "11000" "11001"
[27] "11010" "11011" "11100" "11101" "11110" "11111"
在Excel中,用0到31的数字制作一列。然后在旁边,输入DEC2BIN(A1,5)
并向下拖动。
R 中的 expand.grid()
函数旨在“[c]根据提供的向量或因子的所有组合创建数据框”,在这种情况下:
> expand.grid(lapply(numeric(5), function(x) c(0,1)))
Var1 Var2 Var3 Var4 Var5
1 0 0 0 0 0
2 1 0 0 0 0
3 0 1 0 0 0
4 1 1 0 0 0
5 0 0 1 0 0
6 1 0 1 0 0
7 0 1 1 0 0
8 1 1 1 0 0
9 0 0 0 1 0
10 1 0 0 1 0
11 0 1 0 1 0
12 1 1 0 1 0
13 0 0 1 1 0
14 1 0 1 1 0
15 0 1 1 1 0
16 1 1 1 1 0
17 0 0 0 0 1
18 1 0 0 0 1
19 0 1 0 0 1
20 1 1 0 0 1
21 0 0 1 0 1
22 1 0 1 0 1
23 0 1 1 0 1
24 1 1 1 0 1
25 0 0 0 1 1
26 1 0 0 1 1
27 0 1 0 1 1
28 1 1 0 1 1
29 0 0 1 1 1
30 1 0 1 1 1
31 0 1 1 1 1
32 1 1 1 1 1