У меня есть данные с тысячами субъектов, каждый из которых содержит несколько строк для каждого идентификатора.Вот отрывок человека из моих данных:
ID servicedate firstdate group firstdateplus90
AAA 01/01/2019 01/01/2019 A 04/01/2019
AAA 03/01/2019 01/01/2019 B 04/01/2019
Я хотел бы удалить все предметы, такие как AAA, где в 90-дневном интервале времени с даты 1 у них есть строка, указывающая, что онив другой группе.В приведенном выше примере субъект ААА начинался в группе А, но к 01/01/2019, то есть до 01.04.2009 (90 дней с даты 1), они находятся в группе В.
Я впервые попробовалсоздать новую переменную, которая скажет нам, в какой группе был субъект на первом свидании:
mydata <- mydata %>% group_by(ID) %>%
mutate(first_group= {if(firstdate == servicedate) group[min(which(firstdate == servicedate))] else NA})
Но я не совсем уверен, куда идти дальше, или есть более простой способ выделить из неготе, чья группа в firstdateplus90 не равна группе на первой дате.
Любая помощь приветствуется!