【发布时间】:2019-04-23 14:39:57
【问题描述】:
我想通过展开Lag 将我当前的数据框转换为一个宽表,但同时保留变量agent。宽表的大多数单元格中的数字是sales。
library(reshape2)
set.seed(123)
day = rep(seq(as.Date('2019/01/01'), as.Date('2019/01/04'), by="day"), each = 5)
agent = sample(c('A', 'B', 'C'), 20, replace = T)
sales = rnorm(20, 100, 30)
Lag = sample(0:3, 20, replace=T)
dt = data.frame(day, sales, agent, Lag)
理想情况下,结果如下所示:
我尝试了以下方法,但这些都不起作用。
dcast(dt, day~Lag, value.var='sales')
dcast(dt, day~Lag+agent, value.var='sales')
非常感谢任何建议!
【问题讨论】:
-
你看
tidyr::spread了吗? -
如果像
dt[dt$day == "2019-01-02"& dt$agent == "B", ]这样的匹配不止一个,你想做什么? -
@sindri_baldur 我会把它们加起来!
标签: r dataframe data-structures reshape