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?