假设v=c(-1,-1,-1,0,0,0,1,1,1)
并且我想要生成所有排列。有9!/(3!3!3!)=1680
在R中生成不完全不同对象的所有可能排列
目前,我正在使用以下行来得到它,但它不是非常有效。
unique(replicate(100000, sample(v), simplify=FALSE))
这是一种可能的情况。我想概括这一点。假设n
对象包含k
不同的对象a1,a2,...,ak
分别具有重复编号n1,n2,...,nk (n1+n2+...+nk=n)
。然后n!/(n1!n2!...nk!)
我该如何有效地做到这一点?