PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
R_Language
[問題] combn取法(一定要包含1)
作者:
getsimple
(getsimple)
2020-10-16 02:22:24
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
新手(沒寫過程式,R 是我的第一次)
[問題敘述]:
我目前想要取data的columns
然後做所有的組合
但一定都要包含第一個column
目前code如下:
N <- 5
Model = list()
C <- 1
for(i in 1:N){
i_Combn <- combn(N, i)
for(j in 1:choose(N, i)){
Model[[C]] <- i_Combn[, j]
C <- C + 1
}
}
Model
結果為:
https://i.imgur.com/X8VspIL.jpg
但我今天想要的結果一定要包含1
也就是我想要得到的結果是:
1
1 2
1 3
1 4
1 5
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
1 2 3 4
1 2 3 5
1 2 4 5
1 3 4 5
1 2 3 4 5
想了很久都弄不出來
拜託大家幫幫我
非常感謝
[關鍵字]:
Combn、排列組合
作者: Gjerry
2020-10-16 02:35:00
你可以想像每一個位置有 True 和 False 兩種可能1 可以看成 T F F F F,1, 2 可以看成 T T F F F問題就變成如何產生所以的 T/F 組合,可以以此試試看
作者:
locka
(locka)
2020-10-16 09:02:00
https://ideone.com/AjvqJm
作者:
andrew43
(討厭有好心推文後刪文者)
2020-10-16 10:25:00
硬上就是在內層for中再包一個if (1 %in% i_Combn[, j])
作者:
khaos
(出來混的...)
2020-10-16 11:32:00
為什麼不把1以外的column做完全組合後,再跟1 column結合?
作者:
rebe212296
(綠豆冰)
2020-10-16 12:55:00
用expand.grid即可
作者:
getsimple
(getsimple)
2020-10-16 13:20:00
G大,這個我有用過,但我底下要做迭代運算,如果用取資料的方式,會更方便~謝謝你提供的想法l大,感謝你!!我想要的就是這樣~a大跟r大,我再試試看,感恩~k大,因為這樣會有重複,譬如說1 3 5如果跟1結合,會變成 1 1 3 5,但我只要1 3 5
作者:
locka
(locka)
2020-10-16 15:30:00
我想樓上k大的意思應該是像這樣
https://i.imgur.com/lTZra
1r.jpeg
https://i.imgur.com/lTZra1r.jpeg
再把1黏到每個元素的第一個阿捏,不過list裡面的matrix我不是很會處理這種結構(苦手),希望其他高手可以補充>"<
作者:
getsimple
(getsimple)
2020-10-16 17:09:00
了解,感謝教學,其實我也不太會處理這種哈哈,遇到我都寫迴圈...不過就會變成一堆迴圈,因為我目前就是這樣...做這個組合的目的只是要取list裡面的data,我的用途是取位置用的,但變成要用for去取data裡頭的x(因為資料型態是list)
作者:
andrew43
(討厭有好心推文後刪文者)
2020-10-16 19:08:00
loop沒什麼不好,頂多比較難看。你可以額外練習記憶體預分配的技巧。推薦閱讀本板
#1LjDrSmd
作者:
getsimple
(getsimple)
2020-10-16 22:41:00
a大,謝謝,馬上來看看
作者:
rebe212296
(綠豆冰)
2020-10-16 22:52:00
combn(5,1);combn(5,2);combn(5,3);combn(5,4);然後取裡面有1的
作者:
getsimple
(getsimple)
2020-10-17 17:56:00
r大,了解,謝謝~
作者:
khaos
(出來混的...)
2020-10-17 20:56:00
是不是可以順便再搭配apply?
作者:
TOOYA
(在草地等流星)
2020-10-23 19:09:00
跑一個迴圈,把沒有1的丟掉,會不會比較簡單?
繼續閱讀
[問題] 如何將每行數據靠中間
lin810221
請問怎麼把地圖中縣市名的位置做微調?
zerone
[問題] 關於TAM及CTT的問題
asdfrtg
[問題] 碰到有筆數限制的網站該怎麼辦
m7413005
[問題] 用dplyr做任兩column相乘
rebe212296
[問題] 如何用bat檔讓rmarkdown輸出word?
mrecct
[問題] 人口統計應該如何做?
jojo321
Re: [問題] 快速產生混淆矩陣
rebe212296
[問題] 快速產生混淆矩陣
totolink
[問題] for迴圈_矩陣相加
lin810221
Links
booklink
Contact Us: admin [ a t ] ucptt.com