Substitua <NA> em uma coluna de fator

Eu quero substituir<NA> valores em uma coluna de fatores com um valor válido. Mas não consigo encontrar um caminho. Este exemplo é apenas para demonstração. Os dados originais vêm de um arquivo CSV estrangeiro com o qual tenho que lidar.

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)

Pode ficar assim

      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

Agora eu quero substituir o<NA> valores com um número.

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

Acho que perdi um conceito fundamental de R sobre fatores. Eu sou? Não consigo entender por que não funciona. eu acho queinvalid factor level significa que88 não é um nível válido nesse fator, certo? Então eu tenho que dizer à coluna fatorial que existe outro nível?

questionAnswers(4)

yourAnswerToTheQuestion