Я хочу создать убывающий счетчик на несколько лет в моих данных. По сути, у меня есть две разные даты происшествий, и я хочу перейти с первой на вторую. У меня тоже есть пропавшие случаи, но без инцидентов.
В моих очень плохо смоделированных данных ниже группа А имеет инцидент 1 в 1995 году и инцидент 2 в 1999 году. Я хочу, чтобы в 1995 году появился новый столбец с обратным отсчетом от 4 в 1995 году, 3 в 1996 году, 2 в 1997 году и так далее до 0. НА до и после этого. Как я могу это сделать? Я поигрался с seq, но, похоже, не могу этого сделать.
year <- seq(from = 1990, to=2000)
id <- letters[seq( from = 1, to = 3 )]
df <- data.frame( expand.grid(year, id))
df$inc1[df$Var2 == "a"] <- 1995
df$inc1[df$Var2 == "b"] <- 1992
df$inc2[df$Var2 == "a"] <- 1999
df$inc2[df$Var2 == "b"] <- 1997
Желаемый результат выглядит так
Var1 Var2 toa1 toa2 diff
1 1990 a 1995 1999 NA
2 1991 a 1995 1999 NA
3 1992 a 1995 1999 NA
4 1993 a 1995 1999 NA
5 1994 a 1995 1999 NA
6 1995 a 1995 1999 4
7 1996 a 1995 1999 3
8 1997 a 1995 1999 2
9 1998 a 1995 1999 1
10 1999 a 1995 1999 0
11 2000 a 1995 1999 NA
12 1990 b 1992 1997 NA
13 1991 b 1992 1997 NA
14 1992 b 1992 1997 5
15 1993 b 1992 1997 4
16 1994 b 1992 1997 3
17 1995 b 1992 1997 2
18 1996 b 1992 1997 1
19 1997 b 1992 1997 0
20 1998 b 1992 1997 NA
21 1999 b 1992 1997 NA
22 2000 b 1992 1997 NA
23 1990 c NA NA NA
24 1991 c NA NA NA
25 1992 c NA NA NA
26 1993 c NA NA NA
27 1994 c NA NA NA
28 1995 c NA NA NA
29 1996 c NA NA NA
30 1997 c NA NA NA
31 1998 c NA NA NA
32 1999 c NA NA NA
33 2000 c NA NA NA
Изменить: добавлен результат, извините за недостающие годы
year
-объект? И лучше показать нам желаемый результат, чем его описывать. - person Humpelstielzchen   schedule 18.11.2020