v=c(-1,-1,-1,0,0,0,1,1,1)
と仮定し、すべての順列を生成したいとします。 9!/(3!3!3!)=1680
不完全な別個のオブジェクトのすべての可能な順列を生成するR
現在、私はそれを得るために次の行を使用していますが、あまり効率的ではありません。
unique(replicate(100000, sample(v), simplify=FALSE))
これは1つの可能性のあるケースです。私はこれを一般化したい。 n
のオブジェクトがk
個の異なるオブジェクトa1,a2,...,ak
と、繰り返し番号n1,n2,...,nk (n1+n2+...+nk=n)
のものであるとします。次にn!/(n1!n2!...nk!)
これを効率的に行うにはどうすればよいですか?