2

より具体的にするために、ここに例があります:

> expand.grid(5, 5, c(1:4,6),c(1:4,6))
   Var1 Var2 Var3 Var4
1     5    5    1    1
2     5    5    2    1
3     5    5    3    1
4     5    5    4    1
5     5    5    6    1
6     5    5    1    2
7     5    5    2    2
8     5    5    3    2
9     5    5    4    2
10    5    5    6    2
11    5    5    1    3
12    5    5    2    3
13    5    5    3    3
14    5    5    4    3
15    5    5    6    3
16    5    5    1    4
17    5    5    2    4
18    5    5    3    4
19    5    5    4    4
20    5    5    6    4
21    5    5    1    6
22    5    5    2    6
23    5    5    3    6
24    5    5    4    6
25    5    5    6    6

このデータ フレームは、提供されたベクトルのすべての組み合わせから作成されました。permutations提供されたすべてのベクトルから同様のデータ フレームを作成したいと思います。各行には正確に 2 つの 5 が含まれている必要がありますが、必ずしも最初の 2 つが並んでいる必要はありません。ありがとうございました。

4

2 に答える 2

2

以下のコードは機能します。(gtools からの順列に依存)

comb <- t(as.matrix(expand.grid(5, 5, c(1:4,6),c(1:4,6))))
perms <- t(permutations(4,4))
ans <- apply(comb,2,function(x) x[perms])
ans <- unique(matrix(as.vector(ans), ncol = 4, byrow = TRUE))
于 2010-05-22T00:53:31.200 に答える
0

パッケージ?allPermsに入れてみる。vegan

于 2010-05-21T16:37:09.637 に答える