varias superponer studio modificar lineas graficos graficas ejes r missing-data

studio - superponer graficas en r



Convertir NA en un nivel de factor (3)

Establezca el argumento de exclusión en NULL para incluir NA como niveles (y use factor en lugar de as.factor. Hace lo mismo y tiene más argumentos para establecer):

a = factor(as.character(c(1, 1, 2, 2, 3, NA)), exclude = NULL) > a [1] 1 1 2 2 3 <NA> Levels: 1 2 3 <NA>

Tengo un vector con valores de NA que me gustaría reemplazar por un nuevo nivel de factor NA .

a = as.factor(as.character(c(1, 1, 2, 2, 3, NA))) a [1] 1 1 2 2 3 <NA> Levels: 1 2 3

Esto funciona, pero parece una forma extraña de hacerlo.

a = as.factor(ifelse(is.na(a), "NA", a)) class(a) [1] "factor"

Este es el resultado esperado:

a [1] 1 1 2 2 3 NA Levels: 1 2 3 NA


Puede agregar el NA como nivel y cambiar el nombre del nivel a algo más explícito que <NA> usando fct_explicit_na de fct_explicit_na del paquete.

library(forcats)

Por defecto, obtienes el nuevo nivel como (Missing) :

fct_explicit_na(a) [1] 1 1 2 2 3 (Missing) Levels: 1 2 3 (Missing)

Puedes configurarlo para otra cosa:

fct_explicit_na(a, "unknown") [1] 1 1 2 2 3 unknown Levels: 1 2 3 unknown


También puedes usar addNA() .

x <- c(1, 1, 2, 2, 3, NA) addNA(x) # [1] 1 1 2 2 3 <NA> # Levels: 1 2 3 <NA>

Esta es básicamente una función de conveniencia para factorizar con exclude = NULL . De la help(factor) -

addNA modifica un factor al convertir NA en un nivel adicional (de modo que los valores de NA se cuentan en tablas, por ejemplo).

Entonces, otra razón por la que esto es bueno es porque si ya tienes un factor f , puedes usar addNA() para agregar rápidamente NA como un nivel de factor sin cambiar f . Como se menciona en la documentación, esto es útil para las tablas. También se lee muy bien.