Я работаю над набором данных, который похож на
data <-tribble(
~id, ~ dates, ~days_prior,
1,20190101, NA,
1,NA, 15,
1,NA, 20,
2, 20190103, NA,
2,NA, 3,
2,NA, 4)
У меня есть первая дата для каждого идентификатора, и я пытаюсь вычислить следующую дату, добавив days_prior к предыдущей дате.Я использую функцию задержки для ссылки на предыдущую дату.
df<- df%>% mutate(dates = as.Date(ymd(dates)), days_prior =as.integer(days_prior))
df<-df %>% mutate(dates =
as.Date(ifelse(is.na(days_prior),dates,days_prior+lag(dates)),
origin="1970-01-01"))
Это работает, но только для следующей строки, поскольку вы можете видеть прикрепленные данные.
Что я делаю не так?Я хотел бы, чтобы все даты были рассчитаны с помощью mutate ().Какой другой подход я должен использовать, чтобы рассчитать это.