2017-09-26 63 views
2

字符的矢量的所有排列對於初學者來說,原諒我的數學術語的無知(我將修改這個問題,曾經在我的詞彙錯誤,指出了)。打印中的R

如何打印一套完整中的R 10元素矢量的3元素置換?

讓我們假設一個矢量由10個獨特的字母A至J

x<- LETTERS[seq(from = 1, to = 10)] 

我想列出(打印)的所有可能3獨特的元素排列,例如:

ABC, ACB,ABD,亞行...

感謝您的任何提示

+1

你可能想看看[生成R A列表的所有不同的排列(https://stackoverflow.com/questions/11095992/generating-all-distinct-permutations-of-a-list- in-r),這可能是你所需要的。 – PaSTE

+3

或者你有包'gtools'一個外觀與功能'排列(N = 10,R = 3,V = X,repeats.allowed = FALSE)' –

+0

看起來permn(X)將打印所有置換爲全矢量。我無法弄清楚如何將其限制爲3元素選項。 – blazej

回答

2

這可以使用gtools包輕鬆完成。

prm <- gtools::permutations(n=10, r=3, v=LETTERS[1:10]) 

然後你可以在行上應用paste0來獲得一個向量。

apply(prm, 1, function(x)paste0(x, collapse=''))