我需要转这个
id | amount | day
---------------------
A | 10 | 0
A | 54 | 8
A | 23 | 18
A | 43 | 28
A | 87 | 51
B | 34 | 0
B | 76 | 1
B | 12 | 7
进入这个
id | a1 | a2 | a3 | a4 | a5 | d1 | d2 | d3 | d4 | d5
--------------------------------------------------------
A | 10 | 54 | 23 | 43 | 87 | 0 | 8 | 18 | 28 | 51
B | 34 | 76 | 12 | 0 | 0 | 0 | 1 | 7 | 0 | 0
IE。通过 id 将 df 的行转置/转换为未知数量的列,由于长度不等,将零放在可能存在空值的位置。
我已经尝试过
df <- data.frame(id=c('A','A','A','A','A','B','B','B'), amount=c(10,54,23,43,87,34,76,12), day=c(0,8,18,28,51,0,1,7))
library(reshape2)
x <- dcast(df, id ~ day, mean, value = 'amount')
但这并不完全正确。我该怎么做?