Заменить <NA> в столбце фактора

Я хочу заменить<NA> значения в столбце факторов с допустимым значением. Но я не могу найти способ. Этот пример только для демонстрации. Исходные данные взяты из иностранного CSV-файла, с которым мне приходится иметь дело.

df <- data.frame(a=sample(0:10, size=10, replace=TRUE),
                 b=sample(20:30, size=10, replace=TRUE))
df[df$a==0,'a'] <- NA
df$a <- as.factor(df$a)

Может выглядеть так

      a  b
1     1 29
2     2 23
3     3 23
4     3 22
5     4 28
6  <NA> 24
7     2 21
8     4 25
9  <NA> 29
10    3 24

Теперь я хочу заменить<NA> значения с номером.

df[is.na(df$a), 'a'] <- 88
In `[<-.factor`(`*tmp*`, iseq, value = c(88, 88)) :
  invalid factor level, NA generated

Я думаю, что я пропустил фундаментальную концепцию R о факторах. Я? Я не могу понять, почему это не работает. Я думаюinvalid factor level Значит это88 не является допустимым уровнем в этом факторе, верно? Таким образом, я должен сказать столбцу факторов, что есть другой уровень?

Ответы на вопрос(4)

Ваш ответ на вопрос