我想知道是否有任何方法可以使用expand.grid()函数(或任何其他函数)为指定数量的序列生成所有可能的组合。后者是由用户提供的。
想要的结果。例如,,
expand.grid(0:1, 0:1)
Var1 Var2
1 0 0
2 1 0
3 0 1
4 1 1
expand.grid(0:1, 0:1, 0:1)
Var1 Var2 Var3
1 0 0 0
2 1 0 0
3 0 1 0
4 1 1 0
5 0 0 1
6 1 0 1
7 0 1 1
8 1 1 1
expand.grid(0:1, 0:1, 0:1, ...)
Var1 Var2 Var3 ...
1 0 0 0 ...
2 1 0 0 ...
3 0 1 0 ...
4 1 1 0 ...
5 0 0 1 ...
6 1 0 1 ...
7 0 1 1 ...
8 1 1 1 ...
. . . .
. . . .
. . . .注意事项:实现不限于0-1序列,所以它也适用于类似expand.grid(0:1, 0:5, 2:4, 3:5)的东西。
我的实现。--我正在尝试这样的东西:
expand.grid(rep(0:1, 3))但R将其解释为一个单一序列:
Var1
1 0
2 1
3 0
4 1
5 0任何帮助都是非常感谢的!
发布于 2015-09-09 12:10:04
我们可以rep list然后做expand.grid
expand.grid(rep(list(0:1),3))
# Var1 Var2 Var3
#1 0 0 0
#2 1 0 0
#3 0 1 0
#4 1 1 0
#5 0 0 1
#6 1 0 1
#7 0 1 1
#8 1 1 1或者另一个选项是使用replicate和simplify=FALSE返回list输出,然后使用expand.grid
expand.grid(replicate(3, 0:1, simplify=FALSE))https://stackoverflow.com/questions/32479176
复制相似问题