【发布时间】:2016-02-29 20:21:13
【问题描述】:
我想在某些条件下扩展数据框。有点像这个问题expand data frames inside data frame,但又不太一样。
我有一个数据框:
df = data.frame(ID = c(3,3,3,3, 17,17,17, 74, 74, 210, 210, 210, 210), amount = c(101, 135, 101, 68, 196, 65 ,135, 76, 136, 15, 15, 15 ,15), week.number = c(4, 6, 8, 10, 2, 5, 7, 2, 6, 2, 3, 5, 6))
我想扩展每个 ID 的数据框,给定一个最小和最大周数,并在此扩展的数量列中具有 0。最小周数为 1,最大周数为 10。预期结果为:
df1 <- data.frame(ID = c(rep(3,10), rep(17, 10), rep(74, 10), rep(210, 10)),
amount = c(0, 0, 0, 101, 0, 135, 0, 101, 0, 68, 0, 196,
0, 0, 65, 0, 135, 0, 0, 0, 0, 76, 0, 0, 0,
136, 0, 0, 0, 0, 0, 15, 15, 0, 15, 15, 0, 0,
0, 0))
(实际上,我有数千个 ID,周数从 1 到 160)。
有没有一种简单、快速的方法来做到这一点?
谢谢!
【问题讨论】: