Я пытаюсь для каждой строки рассчитать разницу с ближайшей предыдущей строкой, принадлежащей к той же группе, которая соответствует определенному критерию.
Предположим, у меня есть следующий фрейм данных:
s <- read.table(text = "Visit_num Patient Day Admitted
1 1 2015/01/01 Yes
2 1 2015/01/10 No
3 1 2015/01/15 Yes
4 1 2015/02/10 No
5 1 2015/03/08 Yes
6 2 2015/01/01 Yes
7 2 2015/04/01 No
8 2 2015/04/10 No
9 3 2015/04/01 No
10 3 2015/04/10 No", header = T, sep = "")
Для каждого Visit_num и для каждого пациента я хотел бы получить разницу с ближайшей строкой, в которую пациент был принят (т. Е. Да). Примечание столбец день упорядочен по дням, и единица времени для этого примера - дни.
Вот как я хотел, чтобы мой фрейм данных выглядел так:
Visit_num Patient Day Admitted Diff_days
1 1 2015/01/01 Yes NA
2 1 2015/01/10 No 9
3 1 2015/01/15 Yes 14
4 1 2015/02/10 No 26
5 1 2015/03/08 Yes 52
6 2 2015/01/01 Yes NA
7 2 2015/04/01 No 90
8 2 2015/04/10 No 99
9 3 2015/04/01 No NA
10 3 2015/04/10 No NA
Любая помощь приветствуется.