Ho un vettore con valori NA
che vorrei sostituire con un nuovo livello di fattore NA
.Converti NA in un livello di fattore
a = as.factor(as.character(c(1, 1, 2, 2, 3, NA)))
a
[1] 1 1 2 2 3 <NA>
Levels: 1 2 3
Questo funziona, ma sembra uno strano modo per farlo.
a = as.factor(ifelse(is.na(a), "NA", a))
class(a)
[1] "factor"
Questo è il risultato atteso:.
a
[1] 1 1 2 2 3 NA
Levels: 1 2 3 NA
Vuoi mantenere un 'NA' o un' "NA" 'nei livelli e nel vettore? Forse, invece di 'as.character' potresti aver voluto' paste'? –