Replace <NA> in einer Faktorspalte

Ich möchte @ ersetz<NA> Werte in einer Faktorspalte mit einem gültigen Wert. Aber ich kann keinen Weg finden. Dieses Beispiel dient nur zu Demonstrationszwecken. Die Originaldaten stammen aus einer fremden CSV-Datei, mit der ich mich befassen muss.

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)

Könnte so aussehen

      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

Jetzt möchte ich das @ ersetz<NA> Werte mit einer Zahl.

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

Ich glaube, ich habe ein grundlegendes R-Konzept über Faktoren verpasst. Bin ich Ich kann nicht verstehen, warum es nicht funktioniert. Meiner Ansicht nachinvalid factor level bedeutet, dass88 ist in diesem Faktor kein gültiges Level, oder? Also muss ich der Faktorspalte mitteilen, dass es eine andere Ebene gibt?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage