Я хотел бы создать функцию для замены NA на текст «NR» в факторных переменных фрейма данных.
Я нашел следующий код в Интернете, который отлично работает:
i <- sapply(data_5, is.factor) # Identify all factor variables in your data
data_5[i] <- lapply(data_5[i], as.character) # Convert factors to character variables
data_5[is.na(data_5)] <- 0 # Replace NA with 0
data_5[i] <- lapply(data_5[i], as.factor) # Convert character columns back to factors
Но я бы хотел преобразовать этот код в функцию с именем "remove_na_factor". Я попробовал, как показано ниже:
remove_na_factor <- function(x){
i <- sapply(x, is.factor) # Identify all factor variables in your data
x[i] <- lapply(x[i], as.character) # Convert factors to character variables
x[is.na(x)] <- "NR" # Replace NA with NR
x[i] <- lapply(x[i], as.factor) # Convert character columns back to factors
}
Когда я запускаю функцию на фрейме данных со значениями NA, ничего не происходит ...
Заранее благодарим за помощь.