Posts etiquetados ‘epiinfo’

Exploración de datos con Epi Info 6.04

Octubre 7, 2008

Siguiendo con la serie Epi Info, les paso un “pique” para explorar cómodamente los datos almacenados.

En primer lugar, ejecuto el archivo de comandos donde tengo definidas las variables con sus etiquetas correspondientes. En le caso de la investigación que estamos haciendo en el momento (sobre Intentos de AutoEliminación) se llama IAES.PGM.

Eso hace que queden definidas variables que después voy a usar para cruzar.

En segundo lugar, ejecuto el comando: ROUTE tablas.txt <ENTER>

Con eso lo que hago es que se guarde todo lo que voy a hacer a partir de ahora en el archivo llamado tablas.txt. Creo un acceso directo a ese archivo (que va a estar dentro del directorio de Epiinfo, generalmente C:\EPI6) en algún lugar que me quede cómodo (en Win: dentro de “Mis Documentos” o similar).

En tercer lugar, comienzo a jugar con las variables haciendo cruzamientos con el comando TABLES.

Para eso escribo TABLES <ESPACIO> y oprimo la tecla F3, con lo cual se me despliega una lista de variables. Uso preferentemente las que están al final ya que son las que tienen definidas etiquetas en lugar de códigos numéricos (para eso fue que ejecuté antes el IAES.PGM).

Entonces, en comandos queda:

run iaes.pgm
route tablas.txt
tables sexo metodo

Con eso se generan acumulativamente los resultados en tablas.txt, con lo cual puedo explorar lo que se me ocurra y mirar después tranquilo los resultados.

Eventualmente, aquellos cruzamientos que me interesan, los incluyo como una línea más dentro del programa (IAES.PGM).

Ejemplo de script (programa) para EpiInfo 6.04

Octubre 4, 2008

Cuando tengo que analizar datos en EpiInfo, me queda más cómodo hacer un pequeño script (programa) para que procese todo y genere un archivo de texto con el resultado, para poder verlo más tranquilo y no quedarme corto con la pantalla.

Actualmente uso EpiInfo 6.04 (versión para DOS) con Linux, mediante DosBox (uso Ubuntu, está en los repositorios). La instalación de Epi en Linux excede esta nota (puede ir en siguiente post). De todos modos, en Linux tienen (también en los repositorios de Ubuntu) el PSPP, clon del SPSS.

En Windows: crear con el Notepad (Block de notas) un archivo y guardarlo con un nombre apropiado (8 caracteres: límite de DOS) con extesión “.pgm” (por ejemplo: “analizar.pgm”).

El texto de un programa tipo está a continuación con comentarios (en Epi, el asterisco marca los comentarios). Uso IAES como nombre de archivo porque se trata de datos sobre Intentos de AutoEliminación).

* Leer el archivo donde están guardados los datos
read iaes.rec
* Borrar el archivo de SALIDA DE DATOS si es que existe alguno
erase iaes.txt
* Indicarle al sistema que escriba los resultados en un archivo de texto llamado IAES.TXT
route iaes.txt
* Setea variables internas acerca de qué datos estadísticos mostrar
set statistics=on
set percents = on
* La variable DIAGNOSTIC indica quién realizó el diagnóstico del IAE, la voy a recodificar para convertir los códigos numéricos en valores más legibles.
* Definir una variable (DIAG) en modo TEXTO, con 10 caracteres (son 10 guiones bajos)
define diag __________
* Recodificar la variable original (DIAGNOSTIC) que tenía valores numéricos en la variable nueva (DIAG)
* codificando el 1 como Médico, 2 como Residente, 3 como Otro y (IMPORTANTE) declarando 9 como valor MISSING (equivalente a SIN DATOS). Fundamental para el procesamiento adecuado de los datos (ver el PUNTO luego del signo de IGUAL al final).
recode diagnostic to diag 1=Medico, 2=Residente, 3=Otro, 9=.
* Calcular las frecuencias de los valores de la variable DIAG
freq diag
* Aplico el mismo esquema para el resto de las variables que me interesan
* ==================================
define entrev __
recode entrevista to entrev 1=Si, 2=No, 9=.
freq entrev
* Con las edades, se requiere de una aproximación distinta.
* Creo una variable llamada RANGO_EDAD para convertir las edades a rangos
define rango_edad ___________________
* Recodifico EDAD en RANGO_EDAD, agrupando de 10 en 10
recode edad to rango_edad by 10
* Calculo las frecuencias de rangos de edad
freq rango_edad
* Los barrios no están codificados y son un campo alfanumérico, por lo que no necesito recodificación
freq barrio
close *
* CIERRA TODOS LOS ARCHIVOS
close iaes.txt

Guardan el archivo PGM dentro del directorio de EpiInfo.
Guardan el archivo de datos (REC) también dentro del directorio EpiInfo.
Luego ejecutan EPIINFO (abren una ventana de comando, teclean “C:\EPI6 <ENTER>”)
Van al menú PROGRAMA -> ANALISIS

En la ventana de análisis teclean:

run iaes.pgm <ENTER>

(sustituyan IAES.PGM por el nombre que le hayan puesto a su archivo).
Si está todo OK, se ejectuan todas las órdenes (las ven pasar en pantalla). Si no está todo OK, aparece una ventana de error y se detiene todo. Continúan con <ESCAPE>.
Para ver el resultado, abren con el block de notas el archivo IAES.TXT (o el nombre que le hayan puesto), que está dentro del directorio de EpiInfo.
Cada vez que ejecuten el programa, ese archivo se crea de nuevo, por lo cual no tiene sentido modificarlo a mano. Simplemente es para tener el resultado visible y poder cortar y pegar en otro lado.

EpiInfo y Línea de comando en XP

Octubre 3, 2008

Ya hace rato que no uso más Windows, pero el resto de mis colegas sí. Estamos procesando información usando Epi-Info y nos queda más cómodo usar la versión 6.04 (bajarla aqui), que funciona bajo DOS.
Entonces, para quienes usen XP:
Copiar EpiInfo 6 en un directorio bajo el disco C que se llame EPI6.
Si tienen los archivos de instalación, los copian a un directorio cualquiera (por ejemplo c:/epiinst) y desde ahí ejecutan el programa de instalación.
Para acceder a una ventana de comandos (shell) en XP:

Inicio –> Ejecutar –> cmd
o bien pulsando la tecla “Windows + R”

luego:

cd c:\epi6
epi6

Una vez dentro de EpiInfo, en Programa -> Analisis acceden a la ventana de análisis de datos, una vez ahí, pueden usar los siguientes comandos:

read archivo.rec
# lee un archivo con registro de casos
freq var
# tabla de frecuencias (absolutas y %) de la variable var
tables var1 var2
# cruza las variables var1 contra var2 en una tabla

Una mejor alternativa es escribir un pequeño programa que realice estas cosas de modo automático y redireccione la salida a un archivo de texto para después procesarlo más tranquilo.
En el siguiente post va un ejemplo con comentario.