希望我能解释一下,这是一种易于理解的方式。我想在观察级别获得最近日期特定产品的价格。这应该加班加点。例如,我的日期是2014 - 2015年......最近的价格'随着时间的推移,应该每天都在变化。
在单词中,所需答案始终是最近的值,其日期小于当前观察日期。
df = data.frame(dates = c('2015-08-09','2015-08-10','2015-08-15','2015-07-31','2015-09-09','2015-09-12','2015-09-19'), group=c(rep("A",5),"B","B"), price=c(5,15,3,24,10,13,2), desired_answer = c(24,5,15,NA,3,NA,13))
有关如何在R中执行此操作的任何建议?
答案 0 :(得分:2)
这可以使用dplyr函数的组合来实现,如下所示
df %>%
group_by(group) %>%
arrange(dates) %>%
mutate(answer = lag(price, 1))