У меня есть данные, где обычно по 5 строк на каждую тему (тема а). Некоторые субъекты прервали участие и, следовательно, имеют меньше строк (тема b), а некоторые участвовали несколько раз (но их можно различить по отметкам времени; субъект c).
dd <- data.frame(subject_id = c(rep("a",5),rep("b",4),rep("c",10)), date = c(rep("date1",5),rep("date2",4),rep("date3",5),rep("date4",5)))
subject_id date
1 a date1
2 a date1
3 a date1
4 a date1
5 a date1
6 b date2
7 b date2
8 b date2
9 b date2
10 c date3
11 c date3
12 c date3
13 c date3
14 c date3
15 c date4
16 c date4
17 c date4
18 c date4
19 c date4
Мне нужно исключить строки, где есть меньше 5 записей, которых я добился с помощью
dd <- dd %>% group_by(subject_id) %>% filter(n()>=5)
Пока все хорошо. В тех случаях, когда имеется более 5 строк, я не хочу исключать все записи, но сохраняю либо первые 5, либо последние 5. Пока не удалось это сделать. Любая помощь приветствуется!