我正在尝试基于多项式框架生成以下矩阵。例如,如果我有三列,我会得到:
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)
有任何想法吗?谢谢。
您可以重新排序行以匹配您的预期输出:
u <- list(0:1)
g <- expand.grid(rep(u,3))
g <- g[order(rowSums(g)), ]
Run Code Online (Sandbox Code Playgroud)