看板 R_Language 關於我們 聯絡資訊
我問題是這樣的 設有一個樣本空間 {A, B, C} 若我想要列出 可重覆抽取,抽出二個樣本的所有可能組合 有哪個fuction可以用嗎? 意思是 我要得到 {AA, AB, AC, BA, BB, BC, CA, CB, CC} 9種組合 如果是抽三個的話 就會有 3^3=27種組合 我知道combn 但這個是C3取2? 不是我想要的結果 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.17.184 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1489424924.A.8B4.html
celestialgod: expand.grid 03/14 01:39
celestialgod: expand.grid(LETTERS[1:3],LETTERS[1:3]) 03/14 01:39
eco100: 感謝! 03/14 09:21
eco100: 但這樣會有另一個問題,如果我要把樣本數當作參數 03/14 09:29
eco100: 要怎麼寫進這個函數裡呢? 意思是輸入2 就是取2個 03/14 09:29
eco100: 輸入3 就是取3個 ? 03/14 09:29
cywhale: f1 <- function(...) expand.grid(...);f1(x,x);f1(x,x,x 03/14 10:11
cywhale: 好像多此一舉expand.grid就好XD data.table::CJ也可以做 03/14 10:13
andrew43: combn不只可以取2,不過它的結果是排列而不是組合 03/14 11:56
andrew43: 更正,它的結果組合但不會重覆抽出。 03/14 12:03
eco100: 是啊 所以combn結果不是我所要的 才來這邊問看看 03/14 15:06
Wush978: itertools::product 細節請參考上面itertools的介紹 03/14 19:26