Rにおける複数のベクトルの組み合わせ

私は順列が正しいのかどうかは分かりません。 n個のベクトルのセットを与えたいとします(つまり、
[1,2][3,4][2,3]
)それらをすべて並べ替え、

[1,3,2],[1,3,3],[1,4,2],[1,4,3],[2,3,2] etc.

Rにこれを行う操作がありますか?

ベストアンサー

これは、ベクトルをリストに格納し、適切な関数呼び出しを手配するために
do.call()を使用する場合に便利です。
expand.grid()は標準的な関数です。しかし、個々のベクトルを入力したり名前を付けたりする必要はありませんので、試してみてください:

> l <- list(a = 1:2, b = 3:4, c = 2:3)
> do.call(expand.grid, l)
  a b c
1 1 3 2
2 2 3 2
3 1 4 2
4 2 4 2
5 1 3 3
6 2 3 3
7 1 4 3
8 2 4 3

しかし、私の巧みさのために、
expand.grid()はリストを受け入れることが分かりました。

> expand.grid(l)
  a b c
1 1 3 2
2 2 3 2
3 1 4 2
4 2 4 2
5 1 3 3
6 2 3 3
7 1 4 3
8 2 4 3

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です