BIBLIOTECA VIRTUAL de Derecho, Economía y Ciencias Sociales


INTRODUCCIÓN AL MANEJO DE INFORMACIÓN EN STATA 9.0 CON APLICACIÓN A LA ENCUESTA DE HOGARES

Wilson Mayorga y Rafael Escalante



Esta página muestra parte del texto pero sin formato.

Puede bajarse el libro completo en PDF comprimido ZIP (62 páginas, 797 kb) pulsando aquí

 

 

PARTE II. ADMINISTRACIÓN DE DATOS

En general, todas las operaciones es posible realizarlas en Stata 9.0 mediante el uso del menú. La importación o exportación de datos es posible mediante la ruta file-import. La administración de datos que se explicará aquí mediante comandos, es posible realizarla utilizando el menú data-combine datasets.

En Stata las observaciones son numeradas secuencialmente desde 1 hasta N. En el formato de número de Stata no existen las comas; es decir cinco mil será 5000 y el punto determinará decimales, por ejemplo 5.3. También pueden escribirse números negativos(-5.3) o números en notación científica(5e+3).

En el caso que existan missing values, serán denotadas por un punto(.) dentro del archivo de datos, y para Stata siempre el missing value será mayor que cualquier número; sin embargo, al realizar algún cálculo estadístico, el programa obviará estos missing values.

Los números pueden ser guardados en uno de cinco tipos: byte, int, long, float(es el default) o double. La discriminación depende del número de bytes de memoria necesarios para guardar cada observación(es así como byte requiere un byte, int, que es diferente de integer, requiere 2 bytes así sucesivamente).

Las variables alfanuméricas son denominadas string y deben ir dentro de comillas. En Stata son denominadas str1, str2,…

En cuanto al formato de visualización, es decir, la forma en que los datos son presentados, es el siguiente:

Para variables númericas, viene expresado como %w.d seguido de uno de estos tres formatos: e, f, g. Con w denotamos un número entero que especifica la anchura del formato, mientras que d india el número de dígitos que siguen al punto decimal. Para variables alfanuméricas, el formato es %ws, donde s indica que es string y w es un número entero que indica la anchura dada a la variable. Por defecto, el formato de cada variable es:

Byte %9.0g

Int %9.0g

long %12.0g

float %9.0g

double %10.0g

Str# %#s( o %9s si la anchura es menor de 9 caracteres)

Es posible cambiar el formato de visualización de las variables con el comando format. Por ejemplo, supongamos que una variable es del tipo float y se desea que tenga formato %10.2g, la sintaxis será:

format variable %10.2g

• CREACION DE VARIABLES Y ARCHIVOS DE DATOS

Los archivos de datos tienen extensión *.dta. A su vez, están formados por variables. Cuando se nombra una variable dentro del programa Stata, la misma debe tener como máximo ocho caracteres (pueden ser letras o números y debe empezar siempre con una letra). Las variables pueden ser: numéricas, alfabéticas, de fecha o de tiempo.

El ingreso de Datos a Stata puede realizarse directamente utilizando el EDITOR o mediante lectura de archivos externos(ASCII), como Lotus o Excel o similares.

• Ingreso Manual de Datos

En la barra de comandos se da click en el Data Editor con lo cual aparece una hoja similar a Excel, donde se digitan los datos correspondientes, siendo cada columna una nueva variable, o se copian y pegan desde algún otro archivo(por ejemplo Excel o Word).

En la parte superior de la ventana aparecen los nombres de las variables, encabezando cada una de las columnas en las que se introducirán sus valores.

Una vez digitados los valores de cada celda (números, nombres o frases), se procede a definir las variables: nombre, el formato y la etiqueta. Haciendo doble click en cualquier celda, nos muestra un cuadro de diálogo ofrecido para definir las características de la variable.

Una vez ingresados los nombres, se puede cerrar el editor y el programa preguntará si se desean mantener estos nuevos cambios. Aquí se dará click en OK y las nuevas variables aparecerán en la ventana de DATA EDITOR.

Esta operación genera un archivo temporal, apenas terminaremos la sesión el desaparece perdiendo así la información. Para guardar la base de datos como archivo permanente con extensión *.dta, se elige FILE-SAVE AS donde se abrirá un cuadro de diálogo que permitirá especificar tanto la ruta de acceso como el nombre del archivo de datos que se desea grabar.

• Ingreso de Datos Externos

Stata importa datos provenientes de archivos externos de tipo ASCII (conocidos también como archivos planos). Existen 3 comandos disponibles para realizar importación de este tipo de datos: infix, infile e insheet.

En estos archivos la información puede venir de diversas formas:

1. En columnas: De esta manera se conoce la posición donde se encuentra el valor de cada uno de los ítems.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

7 9 8 3 8 7 6 2 W I L S O N M A Y 1 2 6 1 7 7 . 2 1 7 0 . 2

En la tabla anterior hay seis variables: id, nombre, sexo, edad, altura y peso. Los datos se encuentran en formato de columna, y todas las observaciones de cada variable ocupan el mismo número de posiciones. Por ejemplo la variable id empieza en la columna 1 y termina en la columna 8.

Cuando los archivos provienen de un archivo externo tipo ASCII, con estas características, se le debe indicar a Stata con la comandos infix y luego se le debe dar la forma que debe leer las base, teniendo en cuenta el siguiente orden para definir una variable:

formato nombre posición inicial - posición final

La línea de comandos para este conjunto de datos es de la siguiente forma:

infix str8 id 1-8 str9 nombre 9-17 byte sexo 18 byte edad 19-20 float altura 21-26 float peso 27-30 using " c:\stata\ejemplo.raw " ( Enter)

Cuando se utiliza este formato, las posiciones de las variables deben ser fijas; es decir, en infix se indica que la variable nombre está en la columna 9 a 17, los datos para esa variable deben estar siempre entre esas posiciones.

Este tipo de formato permite leer todo o parte del registro. En este ejemplo se lee todo el registro. Sin embargo, es posible leer sólo algunas variables, por ejemplo, si quisiera leer sólo el nombre y la edad, la sintaxis sería:

infix str8 id 1-9 str9 nombre 9-17 byte edad 19-20 using "c:\stata\ejemplo.raw "

El comando infix espera la ruta de ubicación del archivo ASCII, por lo tanto es necesario ubicarlo de donde debe tomar el archivo, por lo tanto la línea de comandos viene acompañada de otra palabra clave using.

2. Forma de lista: Se listan las variables en el orden en el cual aparecen en el registro de entrada. Las siguientes consideraciones se deben tener en cuenta para esta forma de ordenamiento de los datos:

• Las variables en el archivo por leer deben estar en el orden en el que aparecen en la línea de comandos.

• Los valores de las variables deben estar separados por alguno de las siguientes alternativas: espacio en blanco, por tabuladores o por comas.

• En los valores para las variables alfanuméricas no se permiten espacios en intermedios. La longitud por defecto para esta clase de variables es de ocho dígitos.

• Los espacios en blanco causan que los nombres de las variables y sus valores se desfasen. Los valores faltantes en este tipo de formato se indican con un punto (.).

Continuando con el ejemplo anterior, pero ahora se tiene la información en forma de lista:

79838762 WILSON MAY 1 26 177.2 70.2

La línea de comandos para este conjunto de datos es de la siguiente manera:

infile str8 id str9 nombre sexo edad altura peso using "c:\stata\ejemplo.raw "

En el uso del comando infile para variables alfanuméricas tiene que ser definido el formato, por ejemplo, en el ejercicio anterior la variable nombre debe ir antecedido por el formato a utilizar, es decir str9 nombre.

Además, en el uso del comando infile se supone que no existen espacios entre las palabras; por ejemplo si el nombre fuese Juan Carlos, debería incluirse como Juan_carlos.

Si la separación es por comas, tenemos la alternativa de utilizar dos comandos, infile y insheet La línea de comandos para este conjunto de datos es de la siguiente manera:

insheet id nombre sexo edad altura peso using "c:\stata\ejemplo.raw"

Este comando carga en memoria temporal archivos de datos que están en formato separados por comas, espacios o tabuladores(archivos planos o *.txt y similares). Su sintaxis es:

Insheet lista de variables using nombre del archivo , opciones.

Las opciones son:

Names = indica si en la primera fila están los nombres de las variables

Comma = indica si las variables están separadas por comas.

Tab = Indica si las variables están separadas por tabulador

Clear = especifica que se desea quitar de la memoria los datos anteriores y dejar estos.

insheet ejemplo1 ejemplo2 using "c:\data\ejemplo.raw", names

Si las columnas en los datos no tienen nombre, entonces se usa nonames.

Obsérvese que utilizando este comando no fue necesario definir los formatos de las variables alfanuméricas, además no es necesario agregar el simbolo (_), para separar el nombre de Juan_carlos.

Si se usan tabuladores utilizaremos insheet o infile de la misma manera que el ejemplo anterior. Suponga estos datos

Wilson 23 45

Andres 56 78

Julian 34 44

Se pueden ingresar a STATA, suponiendo que están separados por tabulador y sin nombres de la siguiente manera:

insheet using “c:\data\ejemplo2.txt”, nonames tab

Utilizando el menu interactivo del programa es posible realizar las operaciones anteriores, mediante la ruta FILE – IMPORT, la cual despliega el siguiente conjunto de opciones:

Al revisar la pantalla del comando Insheet (primera opción del menú) aparecen en su orden, las opciones para cargar los datos externos que se van a importar, luego el nombre de las variables (el cual es opcional) y finalmente el tipo de delimitador que separa los datos.

Por su parte, la pantalla del comando infix muestra como elementos fundamentales la opción de uso de un “archivo diccionario” o la opción de especificación. Como se mencionó previamente, para usar el archivo infix el conjunto de datos no deben tener ningún separador y el usuario debe conocer el número de posiciones (longitud) con la que se asocia cada variable. Si se conoce dicho número de posiciones es posible digitar la información en la opción de “specifications” tal como lo muestra el ejemplo.

Cuando el número de variables es notorio, se sugiere crear un archivo diccionario. Este archivo es uno tipo especial de archivo de stata con extensión dht, el cual tiene la información de cada variable y su longitud. Este tipo de archivos se crea en la ventana de archivos do, la cual se explicará más adelante. La sintaxis básica de este archivo es:

Infix dictionary {

Variable1 posicion_inicio posición_final

Variable2 posicion_inicio posición_final

}

Siguiendo con el ejemplo anterior, tendremos:

Infix dictionary {

id 1-9

nombre 9-17

edad 19-20

}

Este archivo se guarda con extensión dht y se ingresa en la posición que lo exige la ventana del comando infix, para así realizar el proceso de importación de los archivos planos.

• OPERACIONES ENTRE ARCHIVOS STATA

Una vez importados o creados los datos, es posible operar con ellos. La nueva versión de Stata permite realizar estas operaciones bien sea por comandos o mediante la elección de las opciones correspondientes con el Mouse en el menú DATA-COMBINE DATASETS. A continuación se explicará el uso de comandos.

En general, todos los comandos disponibles para realizar operaciones dentro la base de datos disponible en memoria se pueden encontrar siguiendo la ruta FILE-DATA. Aquí se encuentra el siguiente conjunto de opciones:

El primer grupo de opciones, agrupadas dentro del menú COMBINE DATASETS, permiten unir varias tablas de datos en una sola. Aquí se analizan 3 opciones: Unión Vertical(APPEND), Unión Horizontal(MERGE) y Selección de Datos(JOINBY).

1. CONCATENAR VERTICALMENTE

Cuando se van a unir archivos que tienen variables comunes de diferentes individuos, esto se conoce como concatenar vertical. De la siguiente Manera:

Supongamos que se tienen dos bases de datos. Para generar el nuevo archivo que consiste en la unión de database1.dta y database2.dta, tenemos que seguir los siguientes pasos.

1. Tener activo alguno de ellos, por ejemplo database1.dta

2. Usar el comando append de la siguiente forma:

append using "c:\stata\database2.dta"

Para mantener los cambios debe guardarse esta nueva base de datos utilizando el comando save o mediante el menú FILE-SAVE AS.

Para realizar esta operación mediante la interfase gráfica de STATA se sigue la ruta data-combined datasets –append datasets, mediante lo cual aparecerá la siguiente ventana:

La opción “Filename dataset on disk” corresponde a la Tabla B del gráfico anterior, en tanto las opciones siguientes permite mantener todas las variables de dicha tabla en el resultado final de la importación o apenas el listado seleccionado con la opción “variables to be kept from appending dataset”.

2. CONCATENAR HORIZONTALMENTE

Este caso corresponde a unir valores de diferentes variables correspondientes a los mismos individuos. Se utiliza el comando merge y adicionalmente se requiere una variable común o de enlace (Variable llave). Los archivos que se concatenan tienen que estar ordenados por las variables de enlace.

Las siguientes líneas de comandos concatena horizontalmente los dos archivos anterior utilizando como variable de enlace id .

Recuerde que alguna de las bases tiene que estar activa en el programa.

• Abrir el archivo database3.dta

use "C:\stata\database3.dta", clear

• Ordenar este archivo teniendo en cuenta la variable enlace(variable llave)

sort variable_llave

• Realizar la concatenación.

merge id using "C:\stata\database4.dta"

En el caso que los archivos concatenados no tengan exactamente el mismo numero de observaciones, se generarán missing values en las posiciones donde falte información.

El procedimiento genera una nueva variable ( _merge ), que aporta la información sobre lo realizado, utilizando los siguientes códigos:

_merge=1 Corresponde a los individuos (según la variable enlace) que están contenidos en la base activa y no están contenidos en la otra base.

_merge=2 Individuos contenidos en la base dos no contenidos en la base activa

_merge=3 Individuos comunes en las dos bases.

La ruta para realizar esta operación siguiendo la interfase gráfica es data-combined datasets-merge two datasets. También existe la posibilidad de realizar el pegado simultáneamente de varias tablas.

El primer grupo de opciones marcadas como “one to one on key variables”, “one to many…” , many to one…” “one to one…” indican si se desea pegar cada observación de una fila de una tabla a otra fila (unicamente una fila) de la otra tabla, o al contrario, si lo que se desea es de una tabla replicar la información para varias filas de la otra tabla.

Este comando incluye una pestaña de opciones, la cual permite elegir, entre otras cosas cuáles variables se desea incluir dentro de la tabla final de resultados del proceso de pegado, así como definir el nombre de la variable que va a detallar el resultado del proceso para cada fila de la tabla de resultado (si la correspondiente fila pertenecía a ambos archivos base o sólo a uno de ellos).

3. INCLUSION DE INFORMACION ADICIONAL

Supongamos que se tiene una tabla llamada personas y otra llamada ocupados. La primera tabla tiene más individuos que la segunda, pero se desea tomar de la tabla de personas únicamente la información relacionada para los individuos que pertenezcan al grupo de ocupados; es decir la tabla final debe tener tantas filas como el número de la tabla ocupados y tantas columnas como la suma de las dos tablas. Este proceso se realiza mediante el comando joinby.

El procedimiento necesita variables enlace (Variables llaves), es decir, variables comunes entre los dos archivos. Los archivos que se concatenan tienen que estar ordenados por las variables de enlace.

Las siguientes instrucciones realizan la operación propuesta, donde la variable de enlace es sexo.

• Abrir el archivo Stata de personas.dta

• Ordenar el archivo activo teniendo en cuenta la variable de enlace.

• Grabar el archivo database1.dta con la modificación realizada en el segundo paso.

• Abrir la segunda base, ocupados.dta.

• Ordenar la base activa por la variable llave o de enlace

• Unir la información de la tabla personas a la tabla ocupados, dejando únicamente la información de los individuos que coincidan entre las dos tablas.

La forma más sencilla de realizar este proceso (una vez las tablas de datos se encuentren ordenadas según las variables llave) es utilizando el menú data y específicamente la opción form all pairwise combinatios. Al seguir esta ruta se abrirá la siguiente ventana:

En esta primera pestaña se debe ingresar (utilizando el botón Browse) la ruta donde se encuentra el archivo que se va a pegar (la tabla B, siendo la tabla la que se encuentra activa en memoria) y posteriormente, se ingresa el listado de variables llave que indican la relación entre las tablas (puede ser una o varias de ellas).

Es fundamental, antes de continuar con el proceso, revisar las opciones de la ventana Options, ya que éstas determinarán el tipo de pegado a realizar. En esta nueva pestaña aparecerán las siguientes alternativas:

El primer grupo de opciones corresponde al tipo de operación que se realizará con aquellas observaciones que correspondan a individuos que pertenezcan tanto a la tabla A como a la tabla B. Las opciones son mantener solos las observaciones de la tabla en memoria(la que se encuentra abierta en STATA) o reemplazar los datos de una tabla por los de la otra.

El segundo grupo de opciones, corresponde a la operación que se realizará con los datos que aparezcan en una tabla pero que no aparezcan en otra. Siguiendo con el ejemplo que inició esta sección, donde teníamos una tabla de personas con más filas que la otra tabla llamada ocupados, y si deseamos dejar únicamente tantas filas como la tabla de ocupados pero con más información por columnas; debemos utilizar este grupo de opciones.

Si se elige la opción “ignore all”, la tabla final dejará únicamente la información de los individuos (filas) que se encuentren exactamente en ambas tablas. Las demás opciones permiten dejar toda la información por columnas de los individuos de una tabla o de la otra o de ambas. Es necesario tener claro que la tabla llamada “in memory” corresponde a aquella que se encuentre activa en STATA, mientras la tabla llamada “in file” corresponde a aquella tabla que se está pegando que se encuentra guardada en el disco duro.

4. DISEÑO DE FILTROS: COMANDOS KEEP y DROP

Estas instrucciones se utilizan cuando se va a trabajar sólo con una parte de un archivo al seleccionar un grupo de variables u observaciones. Estos comandos restringen toda la base de datos, luego no es posible discriminar filtros para variables en particular.

En caso que se desee aplicar el menú, la ruta es data-variable utilities-eliminate variables or observations.

El comando keep mantiene en el archivo, sólo las variables que son listadas junto al comando, borrando el resto.

keep [lista de variable]

keep sexo altura

Para restringir por observaciones se puede utilizar In rango o if expresión, como se analizó anteriormente:

keep in 1/3

keep if sexo==1 & var3>20

El comando drop elimina del archivo activo, las variables que son listadas en la comandos.

drop [lista de variable]

drop sexo altura

Igualmente, es posible utilizar el comando drop junto a las condiciones de rango y de expresión:

drop in rango

drop if condición

En algunas ocasiones, el interés no es restringir la base de datos, sino simplemente realizar algún análisis estadístico puntual sobre una parte de ella. En esos casos, es útil utilizar las opciones in rango, if condición o incluso by [lista de variables], de esta manera no se afecta la extensión de la base de datos.

comando [lista de variables] if variable1> 25 in 12/75

Con la sintaxis anterior, se restringe a hacer alguna operación en el rango de la 12ava observación hasta la 75ava y además si alguna variable es mayor a 25.

5. OTRAS OPERACIONES RELACIONADAS CON DATOS

• REEMPLAZAR VARIABLES

En este caso se usa el comando replace

Replace var1=1.5 in 1/10

• USO DE DATOS YA CREADOS

Para usar tablas de datos ya disponibles se utiliza el comando use

Use “c:\nombre tabla”, replace

Otra forma es usar el menú y allí dar File Open.

• CREANDO ARCHIVOS LOG

Un archivo *.log guarda los resultados que aparezcan en la ventana de STATA RESULTS. Para crearlo se debe seguir la siguiente sintaxis:

Log using “c:\nombre archivo.log”

Si ya se creó este archivo en un ejercicio anterior y se desea escribir sobre él, entonces se adiciona luego de una coma el comando append.

Si lo que se desea es SOBREESCRIBIR no se coloca append sino replace. Para dejar de grabar se escribe el comando log close

Para detener de forma temporal la grabación se usa log off; y para reiniciar la grabación se usa log on. Estos dos comandos son útiles para evitar llenar el archivo de muchos pasos o muchas salidas. Para abrir archivo *.log, puede usarse la siguiente ruta:

File-log-view

Esta ruta abrirá el archivo log y podrán verse los resultados guardados.

5. FUNCIONES Y EXPRESIONES

Antes ya vimos algunos usos de expresiones. Un listado más detallado aparece a continuación:

+ , - , /, ^(elevado), <, <=, >=, ==, ~=(diferente), ~(diferente),|(o), &(y)

Este conjunto de expresiones se utilizan ampliamente en el proceso de generar nuevas variables, por ejemplo variables dummy.

Ejemplo:

list sexo if((social_c~=8 & social_c~=9) & edad<23 & civil==0)

list if ingreso>1000 | ingreso>5000 & edad<25

En el caso de caracteres alfanuméricos se escriben dentro de comillas.

If pais ~= “COL”.

En el caso que se deseen generar nuevas variables, bien sea utilizando los anteriores operadores o funciones, se debe anteponer SIEMPRE el comando gen o generate.

Generate var4 = var1 + var2

Generate var5 = var1/var2 if dum==1

En el caso que no se cumpla la condición se generará un missing value(.).

También es posible usar este comando antecediendo el separador bysort:

bysort: sexo generate variable 4 = variable4*5;

El conjunto de opciones de generar nuevas variables se encuentra en la ruta FILE-DATA-CREATE OR CHANGE VARIABLES. En particular, la opción gen aparecerá en CREATE NEW VARIABLES.

• FUNCIONES

Para operar funciones, es decir, para crear nuevas variables utilizando funciones, se debe anteponer el comando generate, con la sintaxis:

gen nombre = comando(inputs).

En caso que se desee utilizar el menú para la generación de variables, es posible seguir la ruta data-create or change variables. En cada operación es posible tener acceso a la calculadora de stata que trae el listado de funciones y operaciones disponibles con gen y egen, así como a todos los símbolos que se desee utilizar, dando clic en create(…).

• VARIABLES INDICADORAS Y VARIABLES CATEGORICAS

Una variable Indicadora o Dummy asigna 1 o 0 según se cumpla o no cierta característica. Una variable categórica divide a la muestra en grupos dependiendo de cierta característica (por ejemplo mucho, poco, nada). Toda variable indicadora es categórica, pero lo contrario no es cierto.

STATA permite convertir variables continuas en categóricas o indicadoras, y convertir variables categóricas en variables indicadoras. A continuación veremos la estructura básica para generar dichas variables.

a. Construcción de Variable indicadora a partir de variable continua:

Generate d1 = (variable>25)

D1 tomará el valor de 1 si la condición es cierta y cero si es falsa. Si deseamos no tener en cuenta los missing values en el anterior ejercicio hacemos:

Gen d1 = (variable>25) if variable~=.

Una forma “indirecta” de crear la anterior variable hubiera sido la siguiente:

Gen d1 = 1 if variable>25 & variable ~=.

Replace d1=0 if variable<25

b. Construcción de Variable Categórica a partir de Variable Continua

Vamos a generar una variable d2 cuyos valores estén en función de los valores de var1 de la siguiente forma: d2 vale 0 si var1<=1.5, vale 1 si var1 está entre 1.5 y 3.0 y vale dos si es mayor o igual a 3.0.

Gen d2 = 0 if var1<=1.5

Replace d2 =1 if var1>1.5 & var1<=3.0

Replace d2=2 if var1>3.0 & var1~=.


Grupo EUMEDNET de la Universidad de Málaga Mensajes cristianos

Venta, Reparación y Liberación de Teléfonos Móviles
Enciclopedia Virtual
Biblioteca Virtual
Servicios
 
Todo en eumed.net:

Congresos Internacionales


¿Qué son?
 ¿Cómo funcionan?

 

15 al 29 de
julio
X Congreso EUMEDNET sobre
Turismo y Desarrollo




Aún está a tiempo de inscribirse en el congreso como participante-espectador.


Próximos congresos

 

06 al 20 de
octubre
I Congreso EUMEDNET sobre
Políticas públicas ante la crisis de las commodities

10 al 25 de
noviembre
I Congreso EUMEDNET sobre
Migración y Desarrollo

12 al 30 de
diciembre
I Congreso EUMEDNET sobre
Economía y Cambio Climático

 

 

 

 

Encuentros de economia internacionales a traves de internet


Este sitio web está mantenido por el grupo de investigación eumednet con el apoyo de Servicios Académicos Internacionales S.C.

Volver a la página principal de eumednet