【发布时间】:2019-12-29 11:39:07
【问题描述】:
我有一个data.frame,如下图:
structure(list(Start_Date = c("D1", "D2", "D3", "D4", "NA", "NA",
"D6", "D7"), Week = c("W1", "W1", "W1", "W2", "W2", "W3", "W4",
"W4"), last_date = c(NA, NA, NA, "D3", "D3", "D4", "D4", "D4"
)), class = "data.frame", row.names = c(NA, -8L))
输出是列'last_date'
我需要什么? - 我想找到前一周的最后一个非 NA 日期。如果前一周只有 NA 日期,那么它应该查看前一周并找到非 NA 日期。 例如 - 对于 W2 的所有日期,最后一个日期将是 D3(上一周的最后一个非 NA 日期)。对于 W3,它应该返回 D4。 对于 W4,由于 W3 的最后一个日期是 NA,它应该寻找前一周的非 NA 日期(即 W2)并返回 D4。
总而言之,最后一个日期将是最近的非 NA 日期(不是来自本周)
由于我的数据集太庞大,我正在寻找 data.table 解决方案。
【问题讨论】:
标签: r data.table