Recodificación de un vector labelled_haven utilizando una lista de etiquetas y niveles.
Argumentos
- .vec
`labelled_haven`: vector/variable a recodificar
- ls_niveles
`list`: lista con recodificaciones. Debe cumplir un formato específico.
Ejemplos
# vector etiquetado
v_labelled <- labelled::labelled(
c(1, 2, 2, 2, 3, 4, 5, 5, 1, NA),
labels = c("Muy de acuerdo" = 1,
"De acuerdo" = 2,
"Ni de acuerdo ni en desacuerdo" = 3,
"En desacuerdo" = 4,
"Muy en desacuerdo" = 5)
)
# Definir la lista de recodificaciones
# IMPORTANTE: el formato es "val_final-Etiqueta = val_inicial"
# Donde:
# val_final: serán los valores finales de las etiquetas.
# Etiqueta: etiquetas de los valores anteriormente definidos.
# val_inicial: categorías que se consideran para la recodificación (numéricos)
ls_rec <- list(
"1-Muy de acuerdo + De acuerdo" = 1:2,
"2-Ni de acuerdo ni en desacuerdo" = 3,
"3-En desacuerdo + Muy en desacuerdo" = 4:5,
"99-NA" = NA
)
# Recodificación de v_labelled según niveles de ls_rec
rec_labelled(.vec = v_labelled,
ls_niveles = ls_rec)
#> <labelled<double>[10]>
#> [1] 1 1 1 1 2 3 3 3 1 99
#>
#> Labels:
#> value label
#> 1 Muy de acuerdo + De acuerdo
#> 2 Ni de acuerdo ni en desacuerdo
#> 3 En desacuerdo + Muy en desacuerdo
#> 99 NA