Ir al contenido

Recodificación de un vector labelled_haven utilizando una lista de etiquetas y niveles.

Uso

rec_labelled(.vec, ls_niveles)

Argumentos

.vec

`labelled_haven`: vector/variable a recodificar

ls_niveles

`list`: lista con recodificaciones. Debe cumplir un formato específico.

Valor

vector labelled_haven

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