У меня есть dataframe, который выглядит следующим образом:Замена изменения значения столбцов в DF
x1 y1 z1 x2 y2 z2
1 6 7 8 5 4 10
2 7 8 9 6 5 11
3 8 9 10 7 6 12
4 9 10 11 8 7 13
5 10 11 12 9 8 14
6 11 12 13 10 9 15
Теперь я хочу, чтобы изменить значение в x1 и x2 в соответствии с этим правилом: Каждое значение в x1 или x2, что больше 8, следует вычесть на восемь, каждое значение в x1 или x2, которое меньше 8 или меньше, должно быть заменено на NA. Кроме того, если значение в x1 или x2 заменено на NA y1/y2, а z1/z2 также должно быть установлено на NA. Блок данных должен выглядеть так.
x1 y1 z1 x2 y2 z2
1 NA NA NA NA NA NA
2 NA NA NA NA NA NA
3 NA NA NA NA NA NA
4 1 10 11 NA NA NA
5 2 11 12 1 8 14
6 3 12 13 2 9 15
Код для генерации этого dataframe
df1<-data.frame("x1"=6:11,"y1"=7:12,"z1"=8:13,"x2"=5:10,"y2"=4:9,"z2"=10:15)
Этот ответ работает для этого конкретного случая, но я не хочу, чтобы установить NA-х вручную. – PCK1992
@ PCK1992 Мы не устанавливаем NAs вручную. Если вы посмотрите на решение, имена столбцов индексируются с помощью 'grep' – akrun