推 memphis: 好像 expand.grid(rep(list(x), n)) 就可以 03/14 21:23
類似邏輯XD
※ 編輯: celestialgod (36.233.49.87), 03/14/2017 21:43:32
※ 引述《eco100 ( )》之銘言:
: 我問題是這樣的
: 設有一個樣本空間 {A, B, C}
: 若我想要列出 可重覆抽取,抽出二個樣本的所有可能組合
: 有哪個fuction可以用嗎?
: 意思是 我要得到 {AA, AB, AC, BA, BB, BC, CA, CB, CC} 9種組合
: 如果是抽三個的話 就會有 3^3=27種組合
: 我知道combn 但這個是C3取2? 不是我想要的結果
: 謝謝
用do.call + expand.grid就可以了
allCombn <- function(x, k){
do.call(expand.grid, replicate(k, x, simplify = FALSE))
}
allCombn(LETTERS[1L:3L], 2)
# Var1 Var2
# 1 A A
# 2 B A
# 3 C A
# 4 A B
# 5 B B
# 6 C B
# 7 A C
# 8 B C
# 9 C C
allCombn(LETTERS[1L:4L], 3)
# Var1 Var2 Var3
# 1 A A A
# 2 B A A
# 3 C A A
....
--
R資料整理套件系列文:
magrittr #1LhSWhpH (R_Language) https://goo.gl/72l1m9
data.table #1LhW7Tvj (R_Language) https://goo.gl/PZa6Ue
dplyr(上.下) #1LhpJCfB,#1Lhw8b-s (R_Language) https://goo.gl/I5xX9b
tidyr #1Liqls1R (R_Language) https://goo.gl/i7yzAz
pipeR #1NXESRm5 (R_Language) https://goo.gl/zRUISx
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.233.49.87
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1489496669.A.F4E.html