5

多項フレームワークに基づいて、次の行列を生成しようとしています。たとえば、3 つの列がある場合、次のようになります。

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

何か案は?ありがとう。

4

1 に答える 1

4

予想される出力に一致するように行を並べ替えることができます。

u <- list(0:1)
g <- expand.grid(rep(u,3))
g <- g[order(rowSums(g)), ]
于 2013-01-03T01:18:00.130 に答える