Saltar al contenido

Uso de etiquetas de variables de Stata en R

Ya no necesitas buscar más por todo internet porque llegaste al lugar adecuado, poseemos la solución que buscas sin problemas.

Solución:

R no tiene una forma integrada de manejar etiquetas de variables. Personalmente, creo que esta es una desventaja que debería corregirse. Hmisc proporciona alguna facilidad para manejar etiquetas de variables, pero las etiquetas solo son reconocidas por funciones en ese paquete. read.dta crea un data.frame con un attribute “var.labels” que contiene la información de etiquetado. A continuación, puede crear un diccionario de datos a partir de eso.

> data(swiss)
> write.dta(swiss,swissfile <- tempfile())
> a <- read.dta(swissfile)
> 
> var.labels <- attr(a,"var.labels")
> 
> data.key <- data.frame(var.name=names(a),var.labels)
> data.key
          var.name       var.labels
1        Fertility        Fertility
2      Agriculture      Agriculture
3      Examination      Examination
4        Education        Education
5         Catholic         Catholic
6 Infant_Mortality Infant.Mortality

Por supuesto, este archivo .dta no tiene etiquetas muy interesantes, pero la suya debería ser más significativa.

Le recomendaría que use el paquete New Haven (GitHub) para importar sus datos.

Como menciona Hadley Wickham en el archivo README.md:

Siempre obtiene un marco de datos, las fechas y horas se convierten a las clases R correspondientes y los vectores etiquetados se devuelven como nueva clase etiquetada. Puede obligar fácilmente a los factores o reemplazar los valores etiquetados con faltantes, según corresponda. Si también usa dplyr, notará que los marcos de datos grandes se imprimen de manera conveniente.

(énfasis mío)

Si usa RStudio, esto mostrará automáticamente las etiquetas debajo de los nombres de las variables en el View("data.frame") panel del visor (fuente).

Las etiquetas de las variables se adjuntan como un attribute a cada variable. Estos no están impresos (porque tienden a ser largos), pero si tiene una versión preliminar de RStudio, los verá en el panel del visor renovado.

Puede instalar el paquete usando:

install.packages("haven")

e importe su fecha de Stata usando:

read_dta("path/to/file")

Para más información ver:

help("read_dta")

Puede convertir las etiquetas de variables en nombres de variables desde Stata antes de exportarlas a un archivo R o de texto.
Como menciona Ian, las etiquetas de variables generalmente no son buenos nombres de variables, pero si convierte espacios y otros caracteres en guiones bajos y si sus etiquetas de variables no son demasiado largas, puede volver a etiquetar sus vars con varlabels con bastante facilidad.

A continuación se muestra un ejemplo que utiliza el conjunto de datos de Stata incorporado “cancer.dta” para reemplazar todos los nombres de variables con etiquetas var; es importante destacar que este código no intentará cambiar el nombre de la variable sin etiquetas de variable. Tenga en cuenta que también elegí un conjunto de datos donde hay muchos caracteres que no son útiles para nombrar una variable (por ejemplo: =, 1, ‘, ., (), etc.) … puede agregar cualquier carácter que pueda estar al acecho en sus etiquetas de variables a la lista en la quinta línea: “caracteres locales “…” “y hará los cambios por usted:

****************! BEGIN EXAMPLE
//copy and paste this code into a Stata do-file and click "do"//
sysuse  cancer, clear
desc
**
local chars "" " "(" ")" "." "1" "=" `"'"' "___" "__" "
ds, not(varlab "")    // <-- This will only select those vars with varlabs //
foreach v in `r(varlist)' 
    local `v'l "`:var lab `v''"
    **variables names cannot have spaces or other symbols, so::
        foreach s in `chars' 
    local `v'l: subinstr local `v'l "`s'" "_", all
              
    rename `v' ``v'l'
    **make the variable names all lower case**
    cap rename ``v'l' `=lower("``v'l'")'
      
desc
****************! END EXAMPLE

También podría considerar echar un vistazo a Stat Transfer y sus capacidades para convertir archivos de datos de Stata a R.

Finalizando este artículo puedes encontrar las observaciones de otros creadores, tú asimismo eres capaz dejar el tuyo si te apetece.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 4.5)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *