Надеюсь, я могу объяснить, что это способ, который легко понять. Я хочу получить цену на конкретный продукт за самую последнюю дату на уровне наблюдения. Это должно продолжаться сверхурочно. Например, у меня есть даты с 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?
Если помечено это с 'dplyr', вы можете просто использовать' lag' здесь, как и в 'ДФ%>% организовать (как . Дата (даты))%>% group_by (group)%>% mutate (res = lag (price)) '. Я уверен, что для этого есть много обманов. –