У меня есть такой набор данных
ID Date Total
1 2002-03-12 4.98
1 2003-06-06 5.49
2 2005-10-10 2.62
2 2010-04-07 2.02
2 2012-04-03 2.40
2 2014-04-10 2.45
Я пытаюсь вычислить разницу между значением Total (t + 1) и Total (t) по каждому идентификатору.
окончательный ожидаемый набор данных должен быть следующим:
ID Date Total Delta
1 2002-03-12 4.98 NA
1 2003-06-06 5.49 0.51 = 5.49 - 4.98
2 2005-10-10 2.62 NA
2 2010-04-07 2.02 -0.6 = 2.02 - 2.62
2 2012-04-03 2.40 0.38 = 2.40 - 2.02
2 2014-04-10 2.45 0.05 = 2.45 - 2.40
Я пробовал это ниже
library(dplyr)
df %>%
group_by(Id, Date) %>%
arrange(Id, Date) %>%
mutate(
Delta = (Total - lag(Total, 1))
)
Это не работает, я вижу НП в столбце Дельта. Любые предложения или помощь очень приветствуются. Спасибо.