[問題] 排列組合的問題?

看板R_Language作者 ( )時間8年前 (2017/03/14 01:08), 編輯推噓2(2010)
留言12則, 5人參與, 最新討論串1/2 (看更多)
我問題是這樣的 設有一個樣本空間 {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

03/14 01:39, , 1F
expand.grid
03/14 01:39, 1F

03/14 01:39, , 2F
expand.grid(LETTERS[1:3],LETTERS[1:3])
03/14 01:39, 2F

03/14 09:21, , 3F
感謝!
03/14 09:21, 3F

03/14 09:29, , 4F
但這樣會有另一個問題,如果我要把樣本數當作參數
03/14 09:29, 4F

03/14 09:29, , 5F
要怎麼寫進這個函數裡呢? 意思是輸入2 就是取2個
03/14 09:29, 5F

03/14 09:29, , 6F
輸入3 就是取3個 ?
03/14 09:29, 6F

03/14 10:11, , 7F
f1 <- function(...) expand.grid(...);f1(x,x);f1(x,x,x
03/14 10:11, 7F

03/14 10:13, , 8F
好像多此一舉expand.grid就好XD data.table::CJ也可以做
03/14 10:13, 8F

03/14 11:56, , 9F
combn不只可以取2,不過它的結果是排列而不是組合
03/14 11:56, 9F

03/14 12:03, , 10F
更正,它的結果組合但不會重覆抽出。
03/14 12:03, 10F

03/14 15:06, , 11F
是啊 所以combn結果不是我所要的 才來這邊問看看
03/14 15:06, 11F

03/14 19:26, , 12F
itertools::product 細節請參考上面itertools的介紹
03/14 19:26, 12F
文章代碼(AID): #1Onj8SYq (R_Language)
討論串 (同標題文章)
文章代碼(AID): #1Onj8SYq (R_Language)