我正在尝试基于多项框架生成以下矩阵。例如,如果我有三列,我会得到:
0 0 0
1 0 0
0 1 0
0 0 1
1 1 0
1 0 1
0 1 1
1 1 1
但是,我想要更多的专栏。我知道我可以使用expand.grid,如:
u <- list(0:1)
expand.grid(rep(u,3))
但是,它以错误的顺序返回我想要的内容:
0 0 0
1 0 0
0 1 0
1 1 0
0 0 1
1 0 1
0 1 1
1 1 1
有什么想法吗?感谢。
答案 0 :(得分:4)
您可以对行重新排序以符合预期输出:
u <- list(0:1)
g <- expand.grid(rep(u,3))
g <- g[order(rowSums(g)), ]