Самый простой способ, о котором я знаю, это функция is.na<-
.
is.na(df$x) <- df$x > 100
Объяснение.
Функция is.na<-
является обобщенной c функция, определенная в файле
src/library/base/R/is.R
как
`is.na<-` <- function(x, value) UseMethod("is.na<-")
В файле определен один метод, метод по умолчанию.
`is.na<-.default` <- function(x, value)
{
x[value] <- NA
x
}
Это то, что механизм диспетчеризации методов S3 вызывает в строка кода ответа. Альтернативный способ назвать это функциональной формой.
`is.na<-`(df$x, df$x > 100)