lunes, 15 de septiembre de 2014

Recodificar una variable continua a una categórica en Stata 12

Frecuentemente tenemos variables continuas (o numéricas por ejemplo edad) en nuestro dataset y es posible que necesitemos convertir esta variable de numérica a una categórica. Antes de mostrar cómo hacer este proceso llamado recodificación me detendré un  momento para pensar por qué necesitaríamos transformar una variable númerica a una categórica? Respuestas a esta preguntan incluyen:

  1. Comparabilidad con investigaciones previas. Nuestros resultados serán comparados con otros estudios y si los otros estudios han usado la variable edad como categórica en vez de continua también nosotros debemos recodificarla.
  2. Comparar un grupo etario con otro, por ejemplo por alguna razón relacionada a nuestra investigación podríamos estar interesados en comparar las personas de 30 o más años con los de 25 años o menos y en este caso también tendríamos que recodificar la variable numérica.
Ahora voy a mostrar cómo hacer la recodificación de variables en Stata (en próximo post mostraré cómo hacerlo en SPSS). Para este fin voy a utilizar una base de datos de ejemplo disponible por Stata corp, para acceder a esta base simplemente abrimos Stata:




Luego copiamos y pegamos esta dirección: use http://www.stata-press.com/data/r12/census2.dta   y damos enter.




Una vez demos enter veremos las variables (en mi caso las variables se muestran en la esquina inferior izquierda) pero por defecto Stata muestra las variables en la esquina superior derecha.





Si bien para motivos de este post estoy usando este dataset de ejemplo, usar dataset de ejemplo acarrea el problema de que no estamos familiarizados con el dataset, no conocemos qué variables tiene? cómo están etiquetadas? qué tipo de variables son, si son numéricas o categóricas? 



Para simplificar el proceso de recodificación de la variable continua a categórica voy a usar la variable age en la base de datos de ejemplo. Primero voy a mostrar como podemos verificar qué tipo de variable vamos a usar (es continua o categórica?). Hay varias maneras de hacer esto, pero en este post voy a mostrar dos que son comunes y muy útiles:



  1. Usando el comando codebook
  2. Usando el comando list

Los comandos codebook y list nos ayudan a saber si en este dataset la variable age es continua o no. La manera de usar estos comandos es escribiendo el comando seguido por el nombre de la variable:

codebook age 

list age

Usemos el comando codebook primero:



Después de dar enter obtenemos el siguiente resultado:






¿Qué significa este resultado? Tenemos información del tipo de variable y dice que es numeric o sea continua; vemos que los valores de esta variable van de 24 a 35 y que no hay missing values en 50 observaciones (0/50) (también puedes revisar el post de noviembre de 2014 acerca de missing values) . Ojo aún no hemos iniciado la recodificación de la variable, sólo estamos verificando qué tipo de variable es age en este dataset. Si bien podríamos detenernos aqui mismo e iniciar el proceso de recodificación a continuación por motivos de usar el comando list voy a continuar "verificando" qué variable es age.


Voy a escribir list age in 1/10 ¿Por qué tengo que escribir list nombredevariable in número/número? La razón que escribo in 1/10 es para especificar que quiero ver los valores de la variable age en las primeras 10 filas de la base de datos. Si quisiera por ejemplo ver los valores de age en las filas digamos 11 al 20 tendría que escribir:


list age in 11/20




y obtenemos el siguiente resultado:





¿Cómo este resultado nos ayuda a ver qué tipo de variable es age? Al ver los valores de la variable en las primera 10 filas vemos que son números 29, luego 26, 29 otra vez, etc por lo que estoy sumado al resultado de codebook nos ayuda a ver que age es una variable continua. En la última imagen de este post vuelvo a usar el comando list para comparar una variable continua y una categórica, comparación que ayuda a habituarnos a distinguir entre estos dos tipos de variables.



Desde aqui inician los pasos para recodificar age (o cualquier otra variable continua) a categórica:



Paso 1: Este primer paso no tiene que ver con el software en si, tiene que ver con cómo queremos recodificar nuestra variable. Asumamos que estamos interesados en comparar el grupo etario menor de 25 años con 26 a más años.




Paso 2: Conozcamos el mínimo y el máximo de nuestra variable. Para esto escribimos el siguiente comando:



sum age

Veamos el resultado:






Paso 3: Escribamos el comando para recodificar la variable y generar una nueva variable (que se llamará edad) al mismo tiempo:



recode age (24/25=1 "Menor o igual a 25") (26/35=0 "Mayor o igual a 26"), gen(edad)



Paso 4: Corroboremos si la variable fue creada de acuerdo a lo que esperabamos, para esto usamos el comando tab con la nueva variable recien creada.



tab edad



Veamos el resultado:




Vemos que ahora tenemos una variable categórica en vez de una continua. Para finalizar voy a mostrar los valores de la variable original (age) y la variable nueva (edad).

list age edad in 1/10

Veamos los resultados:






En conclusión:


  1. Los comandos codebook y list nos ayudan a explorar rápidamente nuestra base de datos. Funcionan tanto para variables numéricas como categóricas.
  2. En Stata una variable numérica puede ser transformada a categórica siguiendo 4 pasos (una vez que estamos seguros que la variable original es continua).
  3. Es recomendable usar el comando tab después de finalizar la recodificación.






lunes, 8 de septiembre de 2014

Stata o SPSS... ¿Cuál es mejor? (Primera parte)

Entre los paquetes estadísticos más usados están (nombrados sin tomar en cuenta la frecuencia de su uso):

  1. SAS
  2. Stata
  3. SPSS
  4. R
  5. Epi Info

Cada software tiene sus fortalezas y sus debilidades, en este post me voy a centrar en comparar Stata y SPSS en función de los pasos para realizar una tabla 2x2 en ambos paquetes estadísticos.  

 La respuesta a cuál de estos dos softwares es mejor no es fácil, sin embargo tengo algunas observaciones que como usuario podrían contribuir a responderla: la experiencia del usuario analizando datos y el tiempo disponible para familiarizarse con el software.  La segunda parte de este post  compara Stata y SPSS en función del manejo de missing values, puedes acceder a esta segunda parte desde la sección "Accede aqui a todos los posts (mes de noviembre)"  .


Para comparar en términos de la experiencia del usuario ilustrar la comparación en este post voy a realizar una tabla de contingencia (o tabla de doble entrada) en SPSS y luego una tabla similar en Stata. Luego voy a comentar acerca del tiempo disponible para familiarizarse con el software y finalizo este post con la conclusión.

  1. Experiencia del usuario analizando datos: Si estás en las primeras etapas en el mundo del análisis de datos SPSS es el software de elección. La razón es porque tiene una interfaz amigable basada en el uso del menú. En el siguiente video muestro los pasos para realizar análisis bivariado con una tabla de doble entrada o también llamada tabla de contingencia (el análisis bivariado involucra dos variables, generalmente aunque no siempre la variable dependiente y la independiente) Para mostrar este proceso en SPSS voy a utilizar la base de datos de ejemplo llamada accidents que está en la carpeta IBM en el disco duro. Voy a construir una tabla de doble entrada (también llamada crosstabs) usando las variables gender (género) y agecat (categoría de edades).





Para continuar con la comparación veamos cómo se realizaría una tabla de doble entrada en Stata, para ilustrar este proceso voy a utilizar una de las bases de datos de ejemplo de Stata, veamos el proceso en el siguiente video:






Lo que tomó tres paso en SPSS (ir a crosstab, poner las variables en filas y columnas y seleccionar el tipo de porcentaje) se hace con un comando de cuatro palabras y una coma.

2. Tiempo para familiarizarse con el software: SPSS requiere menos tiempo para familiarizarse porque ahi está el menú para recordar donde dar click, en cambio en Stata en las primeras etapas se debe memorizar los comandos más comunes lo cual requiere tiempo.

En conclusión la respuesta a cuál es mejor depende inicialmente del nivel de experiencia del usuario y del tiempo disponible para entrenarse en el uso del software. Aunque inicialmente usé SPSS hoy por hoy me inclino por Stata debido a que tiene herramientas para lidiar con los missing values (con lo cual uno termina ahorrando mucho tiempo durante el análisis de datos) , ocupa menos espacio en el disco duro (consume menos memoria de la computadora, sus bases de datos de ejemplo están en internet no en el disco duro y sus resultados pueden ser guardados en formato txt) y finalmente debido que tenés que escribir los comandos te da la sensación de mayor control sobre lo que estás haciendo, digamos la sensación de escribir qué variables estás incluyendo en tu modelo refuerza la sensación de control.




sábado, 6 de septiembre de 2014

¿Cómo lucen nuestros en Stata datos después de digitarlos?

Una vez que terminamos la digitación de datos y exportamos la base de datos (desde Access, Epi Info, SPSS o Excel) a Stata nuestros datos lucirán así :






¿Por dónde empezar? Nuestro análisis no puede estar desvinculado de nuestra hipótesis u objetivos de investigación los cuales deben estar escritos en nuestra propuesta (protocolo) de investigación . Los siguientes pasos constituyen una guía para iniciar el análisis cuantitativo de nuestros datos, aunque los pasos son válidos para cualquier software en este post me enfocaré en Stata.

1.-¿Cuál es nuestra variable dependiente (también llamada variable resultado o Y)? Es conveniente identificar en nuestra base de datos cuál es el nombre de nuestra variable dependiente. ¿Existe en la base de datos? o debemos construirla? En caso de que ya exista debemos modificar el número categorías? Supongamos que nuestra variable dependiente es Nivel educativo de mujeres en Edad Fértil y que nosotros estamos interesados en Educación Primaria y Educación Secundaria. ¿Dónde está esta variable en nuestra base de datos? En la penúltima columna de la base de datos está la variable edu (Nivel Educativo de las Mujeres en Edad Fértil) ¿Qué tipo de variable es TotgradoMEF? Basados en la inspección del Editor de datos (primera figura) sospechamos que esta variable es continua, comprobemos nuestra presunción calculando el promedio (aunque basta con calcular el promedio para saber si es númerica o no también Stata nos da la desviación estándard , el mínimo y el máximo)





 Vemos que es una variable continua (numérica) que contiene información del total de años de estudio por cada Mujer en Edad Fértil. El mínimo es cero años y el máximo 21 años, el promedio de años de estudio es 7.2 años y la desviación estándard es 4.56 ¿Qué debemos hacer a continuación? Debido a que nuestro interés es tener una variable dependiente dicotómica (de dos categorías: Educación Primaria y Educación Secundaria) claramente debemos recodificar la variable continua para transformala a categórica. Está más allá de los objetivos de este post mostrar como se recodifica una variable.

2.-¿Cuál(es) es(son) nuestra(s) variables independientes (también llamada variable predictora/explicativa o X)? Igualmente a como identificamos la variable dependiente debemos identificar la o las variables independientes . Supongamos que en nuestra investigación las variables independientes son: religion y Edocivil (Estado civil). ¿Existen en la base de datos? Claramente en el editor de datos vemos (primera imagen) que existen. ¿Qué tipo de variable es y cuántas categorías tiene?  Para responder estas preguntas debemos hacer una frecuencia de cada una de estas variables, veamos para Religión:



Ahora veamos la frecuencia simple para Estado Civil


¿Entonces qué tipo de variables son religion y edocivil? Son variables categóricas. Dependiendo de nuestro interés es posible que necesitemos o no recodificar estas variables debido a que algunas categorías tienen relativamente pocos casos en comparación con otras, por ejemplo hay 61 observaciones en la categoría "Divorciada", esta categoría se podría fusionar con "Separada", "Viuda" y "Soltera" para crear una nueva categoría llamada "Sin Pareja", pero va más allá de los objetivos de este post mostrar cómo se recodifica una variable.

En conclusión:
  • Identifiquemos las variables dependiente e independientes.
  • Realicemos frecuencia simple (para variables categóricas) o promedio (para variables numéricas) para evaluar si es necesario modificar las variables (por ejemplo transformar una variable continua a categórica o recodificar las variables),