После двух предыдущих вопросов:
удаление первых 3 строк группы с условным оператором в r
Назначение NA для строк с условным оператором в r
У меня проблемы с кодом. Если вместо удаления строк я хочу назначить NA каждому событию, которое имеет в своей первой строке значение больше 2. Поэтому, если событие имеет в своей первой строке значение больше 2, я хочу назначить NA этому ряд, и в ближайшие два ряда этого события. Если у события больше нет строк, просто присвойте NA тем строкам, которые есть у события.
Ниже приведен пример со столбцом желаемого вывода.
Event<- c(1,1,1,1,1,2,2,2,2,3,3,4,5,6,6,6,7,7,7,7)
Value<- c(1,0,8,0,8,8,7,1,10,4,0,1,10,3,0,0,NA,NA,5,0)
Desire_output<- c(1,0,8,0,8,NA, NA, NA,10,NA,NA,1,NA,NA,NA,NA,NA,NA,5,0)
AAA<- data.frame(Event, Value, Desire_output)
Event Value Desire_output
1 1 1 1
2 1 0 0
3 1 8 8
4 1 0 0
5 1 8 8
6 2 8 NA
7 2 7 NA
8 2 1 NA
9 2 10 10
10 3 4 NA
11 3 0 NA
12 4 1 1
13 5 10 NA
14 6 3 NA
15 6 0 NA
16 6 0 NA
17 7 NA NA
18 7 NA NA
19 7 5 5
20 7 0 0
Примечание. Если событие начинается с NA, ничего не делать (как в событии 7 ).
Пожалуйста, дайте мне знать, если у вас есть идея, и заранее спасибо за ваше время.