【发布时间】:2016-02-03 08:48:27
【问题描述】:
我尝试使用不同的答案 Expanding a sequence in a data frame 到我的数据框,但我没有尝试过。
样本数据
library(dplyr)
p1 <- c(1:5)
p2 <- as.Date(c("2013-01-01","2013-01-22","2014-02-01","2014-05-12","2015-02-22"))
p3 <- as.Date(c("2013-01-11","2013-01-30","2014-02-20","2014-05-22","2015-02-28"))
p4 <- c(11,9,20,11,7)
df2 <- data_frame(p1,p2,p3,p4)
names(df2) <- c("ID", "StartDate", "EndDate", "NoDays")
df2
想要的结果
ID datelist NoDays
1 2013-01-01 1
1 2013-01-02 1
1 2013-01-03 1
etc..
1 2013-01-10 1
1 2013-01-11 1
2 2013-01-22 1
2 2013-01-23 1
etc.
2 2013-01-28 1
2 2013-01-29 1
2 2013-01-30 1
这里有三个代码试验——我在许多变体中都进行了尝试(例如,apply 系列的非常多的成员),但都失败了(即给出不同的错误消息):
代码示例1
datelist <- seq.Date(from = df2$StartDate, to=df2$StartDate, by="days")
代码示例 2
datelist <- seq.Date(from = df2$StartDate, by="days", length.out = df2$NoDays)
代码示例 2
datelist <- apply(df2, 1, seq.Date(from = df2$StartDate, to=df2$StartDate, by="days"))
【问题讨论】: