使用 dcast 进行非常规数据帧重塑
Unconventional data frame reshaping using dcast
我要转换table dt:
Who T Res
Pam 2 B
Pam 3 E
Pam 5 F
Bob 2 B
Bob 5 C
进入
Who T1 Res1 T2 Res2 T3 Res3
Pam 2 B 3 E 5 F
Bob 2 B 5 C NA NA
使用来自 data.table 的 dcast 或其他 function/s。
我已经尝试过 dcast(dt, Who ~ T + Res)
之类的东西,但得到的只是不想要的输出。
你可以使用-
library(data.table)
setDT(dt)
dcast(dt, Who ~ rowid(Who), value.var = c('T', 'Res'))
# Who T_1 T_2 T_3 Res_1 Res_2 Res_3
#1: Bob 2 5 NA B C <NA>
#2: Pam 2 3 5 B E F
我要转换table dt:
Who T Res
Pam 2 B
Pam 3 E
Pam 5 F
Bob 2 B
Bob 5 C
进入
Who T1 Res1 T2 Res2 T3 Res3
Pam 2 B 3 E 5 F
Bob 2 B 5 C NA NA
使用来自 data.table 的 dcast 或其他 function/s。
我已经尝试过 dcast(dt, Who ~ T + Res)
之类的东西,但得到的只是不想要的输出。
你可以使用-
library(data.table)
setDT(dt)
dcast(dt, Who ~ rowid(Who), value.var = c('T', 'Res'))
# Who T_1 T_2 T_3 Res_1 Res_2 Res_3
#1: Bob 2 5 NA B C <NA>
#2: Pam 2 3 5 B E F