PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
R_Language
[問題] 用dplyr做任兩column相乘
作者:
rebe212296
(綠豆冰)
2020-10-13 09:43:59
如題
[問題類型]:
dplyr套件
[軟體熟悉度]:
一年
[問題敘述]:
我的問題在於如何任選2個欄位做運算,以一行程式表示
目前data這個資料集有24欄,我在想是否有方法可以不要打23+22+…+1=276行程式
col1~col24
任2欄相乘
[程式範例]:
data %>%group_by(col1,col2)%>%mutate(product=col1*col2)
[環境敘述]:
R 3.6.0
[關鍵字]:
選擇性,也許未來有用
作者:
locka
(locka)
2020-10-13 11:32:00
不需要group_by()啊,直接 mutate()就好
作者:
rebe212296
(綠豆冰)
2020-10-13 11:55:00
我是想問,如果有24欄中任選2欄,難道要一對一對打出來嗎
作者:
locka
(locka)
2020-10-13 12:05:00
你的意思是想把所有的排列組合都mutate出來嗎 (c1*c2, c1*c3…c1*24… and so on?)
作者:
rebe212296
(綠豆冰)
2020-10-13 12:09:00
就是col1*col2存product12,col2*col3存product23,總共存C_2^24種組合對共有23+22+...+1種
作者:
hank830214
(hank)
2020-10-13 12:23:00
我目前想到可以用combn()求出所有組合再搭配eval()+parse()把文字當作程式碼執行
http://tinyurl.com/y5sks49a
作者: clickhere (It's time to go home.)
2020-10-13 12:50:00
x<-t(data)%*%data;x[lower.tri(x)]
作者:
andrew43
(討厭有好心推文後刪文者)
2020-10-13 12:50:00
一樣也是先想到combn()
https://ideone.com/lHdXPe
作者:
locka
(locka)
2020-10-13 13:51:00
expand.grid的方法供參
https://i.imgur.com/oreH24D.jpg
但樓上a大的方法比較好~ 學習了!!而且用expand.grid不能刪除重複還要再想辦法把結果轉回column 啊啊啊好麻煩好麻煩(吐槽自己是哪招XD)
作者:
rebe212296
(綠豆冰)
2020-10-13 16:20:00
謝謝各位
作者:
andrew43
(討厭有好心推文後刪文者)
2020-10-13 17:43:00
我的res並不是list而是matrix, 可再用as.data.frame。
繼續閱讀
[問題] 如何用bat檔讓rmarkdown輸出word?
mrecct
[問題] 人口統計應該如何做?
jojo321
Re: [問題] 快速產生混淆矩陣
rebe212296
[問題] 快速產生混淆矩陣
totolink
[問題] for迴圈_矩陣相加
lin810221
[問題] Data frame 篩選
winter7531
[問題] R 向量 判斷
lin810221
[問題] Rstudio 打不開
rebe212296
[問題] R 語言輸出問題
lin810221
[問題] 我該如何把行與列的值對應呢? (求救)
askpeople
Links
booklink
Contact Us: admin [ a t ] ucptt.com