Я хотел бы удалить строки, которые не удовлетворяют требуемому условию. Например:
Event Value
1 1
1 0
1 0
1 0
2 8
2 7
2 1
2 0
2 0
2 0
3 8
3 0
3 0
3 0
3 0
Если для каждого события в столбце значения есть число, превышающее 2 (значение> 2), удалите первые 3 строки, начиная с этого значения, которое не соответствует критериям.
Это должно выглядеть следующим образом:
Event Value
1 1
1 0
1 0
1 0
2 0
2 0
3 0
3 0
Мне удалось удалить первую строку каждого события, которое соответствует sh критериям, но я не нашел способа удалить другие строки.
Event<- c(1,1,1,1,2,2,2,2,2,2,3,3,3,3,3)
Value<- c(1,0,0,0,8,7,1,0,0,0,8,0,0,0,0)
A<- data.frame(Event, Value)
A %>%
group_by(Event) %>%
filter(!(Value >= 2 & row_number() == 1))
Есть идеи?