1

R では、グループのすべての順列をどのように生成できますか?しかし、このグループには繰り返し要素がいくつかあります。

例 :

A = {1,1,2,2,3} 

解決 :

1,1,2,2,3
1,1,2,3,2
1,1,3,2,2
1,2,1,2,3
1,2,2,1,3
1,2,2,3,1
.
.
4

5 に答える 5

5

gtoolsパッケージを使用して、

library(gtools)

x <- c(1,1,2,2,3)

permutations(5, 5, x, set = FALSE)
于 2012-10-10T08:54:04.267 に答える
3

combinatパッケージを使用するだけです:

A = c(1,1,2,2,3)
library(combinat)
permn(A)
于 2012-10-10T08:51:40.610 に答える
1

permuteパッケージの使用:

x <- c(1,1,2,2,3)
require(permute)
allPerms(x, observed = TRUE)
于 2012-10-10T13:28:28.787 に答える
1

組み込みのRでそれを実行したい場合:

permute <- function(vec,n=length(vec)) {
  permute.index <- sample.int(length(vec),n)
  return(vec[permute.index])
}

permute(A)
于 2012-10-10T14:26:10.117 に答える
0

私は組み合わせと順列について広範な研究を行ってきました。私が見つけたこの結果は、ジャンクションとして知られている本に書かれています (組み合わせと順列を数える技術。私のサイトを表示するには、https://sites.google.com/site/junctionslpresentation/homeにログオンしてください)。

あなたの質問に対する解決策もあります。複数のオブジェクトの順列を注文することもわかりました。この複数のオブジェクトの順列を (MSNO の CON) と呼びます。これは、複数の同数のオブジェクトの組み合わせ順序番号を意味します。

この注文方法を表示するには、このサイトの下部にあるサイトhttps://sites.google.com/site/junctionslpresentation/proof-for-advance-permutation にアクセスしてください。Word 文書をいくつか添付しました。必要なソリューションは、ワード文書 12 Proof (CON of MSNO) および 13 Proof (Converse of MSNO) に記載されています。記載事項の正しい見方については、このWord文書をダウンロードしてください。

于 2012-10-10T16:53:00.553 に答える