Другая опция для преобразования этого значения, sans ifelse (), использует
factors$Var[is.na(factors$Var)] <- "unknown"
Вам все равно нужно будет преобразовать переменную в символ.R присваивает числовые значения факторным уровням, и поэтому прямое преобразование превратит эти уровни в связанное числовое значение, а не числовое значение.
Пример:
factors <- data.frame(Id = seq(1,7),
Var = as.factor(c(NA, NA, NA, NA, 100, 40, "Allo")))
factors$Var <- as.character(factors$Var)
factors$Var[is.na(factors$Var)] <- "unknown"
С выводомфрейм данных выглядит так:
Id Var
1 1 unknown
2 2 unknown
3 3 unknown
4 4 unknown
5 5 100
6 6 40
7 7 Allo