使用 expand.grid 后反转字典顺序

Sco*_*ott 5 r permutation

我正在尝试基于多项式框架生成以下矩阵。例如,如果我有三列,我会得到:

0 0 0
1 0 0
0 1 0
0 0 1
1 1 0
1 0 1
0 1 1
1 1 1
Run Code Online (Sandbox Code Playgroud)

但是,我想要更多的列。我知道我可以使用 expand.grid,例如:

u <- list(0:1)
expand.grid(rep(u,3))
Run Code Online (Sandbox Code Playgroud)

但是,它以错误的顺序返回我想要的内容:

0 0 0
1 0 0
0 1 0
1 1 0
0 0 1
1 0 1
0 1 1
1 1 1
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢。

flo*_*del 4

您可以重新排序行以匹配您的预期输出:

u <- list(0:1)
g <- expand.grid(rep(u,3))
g <- g[order(rowSums(g)), ]
Run Code Online (Sandbox Code Playgroud)