精華區beta R_Language 關於我們 聯絡資訊
大家好,我目前有一個兩列十行的data.frame 我希望將每一行的兩個值隨機抽一個合併起來,合併完之後是十個元素的向量 組合數有2^10次方=1024種 試問除了expand.grid指令 有沒有更有效率的方法呢? (因為expand.grid慢慢要放入10個向量,如果數量更大就難以處理) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.136.235.202 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1589178166.A.5E4.html
andrew43: 你要所有的排列,還是所有的組合,還是隨機抽? 05/11 15:40
所有的組合
TOOYA: https://i.imgur.com/9Tn8pbm.jpg 這樣可以嗎? 05/11 16:28
是否有辦法列出所有的可能組合
TOOYA: expand.grid是把全部列出來之後,再選,一開始會很大。 05/11 16:29
※ 編輯: penispower (59.115.229.122 臺灣), 05/11/2020 16:32:40 ※ 編輯: penispower (59.115.229.122 臺灣), 05/11/2020 16:34:42
andrew43: 像這樣? https://ideone.com/GaF7Hr 寫得有點髒 05/11 18:30
andrew43: 想法是先寫出二進位的1到1024再用各個0/1當指標 05/11 18:31
TOOYA: 所有的組合不就是expand.grid? 05/12 09:59
是的,但要放十個向量進去(每個向量兩個值)覺得很沒效率,想知道更快的方法
showfeb: 利用Reduce語法 https://ideone.com/iw3g6P 05/12 18:21
非常感謝 ※ 編輯: penispower (114.137.98.161 臺灣), 05/12/2020 18:46:47 ※ 編輯: penispower (114.137.98.161 臺灣), 05/12/2020 19:08:03