※ 引述《SFMAndroid (安卓發送)》之銘言:
: [問題類型]:
: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
: [軟體熟悉度]:
: 入門(寫過其他程式,只是對語法不熟悉)
: [問題敘述]:
: 最近在處理一筆資料 大概長這樣:
: user web code
: Shelly yam A1
: Bruce finance A2
: Shelly yam A1
: Kate finance A2
: Bruce yam A1
: Bruce google A3
: 希望能夠用堆疊(應該是堆疊吧)的方法讓資料變成這樣:
: user web code1 code2
: Shelly yam A1 A1
: Bruce finance A2
: Bruce yam A1
: Bruce google A3
: Kate finance A2
其實跟#1Lmlfyuv (R_Language)問題一模一樣
程式我就直接搬過來了...
library(data.table) # 只用到fread
library(dplyr) # 用到group_by, mutate, %>%
library(tidyr) # 用到spread (可以用reshape2的dcast代替)
DT = fread("user,web,code
Shelly,yam,A1
Bruce,finance,A2
Shelly,yam,A1
Kate,finance,A2
Bruce,yam,A1
Bruce,google,A3")
DT %>% group_by(user, web) %>%
mutate(code_name = paste0("code_", 1:n())) %>%
spread(code_name, code, fill = "")
# user web code_1 code_2
# 1 Bruce finance A2
# 2 Bruce google A3
# 3 Bruce yam A1
# 4 Kate finance A2
# 5 Shelly yam A1 A1