Условное удаление нескольких столбцов с помощью R

#r #aggregate #apply

#r #агрегат #применить

Вопрос:

У меня есть несколько столбцов X1, X2, X3, X4, X5. Как я могу написать «.» в строках в X1, X2 и X3, для которых X4 = 10 или X4 = 15?

Комментарии:

1. Рассмотрите возможность публикации кода, который вы пробовали до сих пор, вместе с примером набора данных и желаемым ответом.

Ответ №1:

Это довольно просто. Вот пример с некоторыми поддельными данными.

 > d <- data.frame(X1 = 1:5, X2 = 6:10, X3 = 10:14)
> d
#   X1 X2 X3
# 1  1  6 10
# 2  2  7 11
# 3  3  8 12
# 4  4  9 13
# 5  5 10 14
 

Теперь, если столбец X3 равен 10 или 14, замените первые два столбца одной и той же строки (строк) на .

 > d[d$X3 == 10 | d$X3 == 14, 1:2] <- "."
> d
#   X1 X2 X3
# 1  .  . 10
# 2  2  7 11
# 3  3  8 12
# 4  4  9 13
# 5  .  . 14