Curso Nivelacic3b3n Stata

86
DEPARTAMENTO DE ECONOMÍA – UNIVERSIDAD DE CHILE 1 Curso Nivelación STATA Magíster en Políticas Públicas Javiera E. Vásquez N. 1 1 Investigadora, Centro de Microdatos, Departamento de Economía, Universidad de Chile ([email protected] ). Cualquier error es responsabilidad exclusiva del autor. Se agradece a J. Eguiguren los comentarios y cooperación en la elaboración de este apunte.

description

Publicado por Microdata de la U. de Chile

Transcript of Curso Nivelacic3b3n Stata

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    1

    Curso Nivelacin STATA Magster en Polticas Pblicas

    Javiera E. Vsquez N.1

    1 Investigadora, Centro de Microdatos, Departamento de Economa, Universidad de Chile ([email protected]). Cualquier error es responsabilidad exclusiva del autor. Se agradece a J. Eguiguren los comentarios y cooperacin en la elaboracin de este apunte.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    2

    TABLA DE CONTENIDOS

    INTRODUCCIN 3

    I. UNA PEQUEA INTRODUCCIN AL PROGRAMA 4

    II. COMO ORGANIZAR EL TRABAJO EN STATA 6

    III. CMO CARGAR UNA BASE DE DATOS? 8

    IV. LEYENDO LOS DATOS 15

    IV.1. DESCRIBE 16 IV.2. CODEBOOK 17 IV.3. EDIT 20 IV.4. IST; INSPECT; DUPLICATES; COUNT; ORDER 22 IV.5. SUM 25 IV.6. TABULATE 28

    V. MODIFICACIN DE UNA BASE DE DATOS. 38

    V.1. MODIFICACIN DE VARIABLES DE UNA BASE DE DATOS 38 V.2. UNIR BASES DE DATOS: MERGE Y APPEND 42 V.3. CONDENSAR UNA BASE DE DATOS: COLLAPSE 47 V.4. CAMBIAR LA ESTRUCTURA DE LA BASE DE DATOS: RESHAPE 48 V.5. ELIMINAR VARIABLES: KEEP Y DROP 51 V.6. CREAR VARIABLES: GENERATE Y EGEN 52

    VI. APLICANDO LO APRENDIDO 56

    VI.1. UN EJEMPLO APLICADO 56 VI.2. ARCHIVOS LOG 60 VI.3. ARCHIVOS DO: PARA TRABAJAR EN FORMA PROGRAMADA EN STATA 61

    VII. CREAR MATRICES PARA GUARDAR LOS DATOS 69

    VIII. CICLOS RECURSIVOS 71

    IX. GRFICOS 72

    X. AYUDA: HELP 83

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    3

    Introduccin Este documento pretende los introducir el uso del programa STATA, mediante la entrega de conceptos y comandos bsicos para el inicio en este software. En una primera parte haremos una pequea introduccin al programa, luego veremos brevemente como se carga una base de datos, y en una tercera parte se ver cual es la manera ms adecuada de trabajar con ella. Adicionalmente, en una cuarta parte se vern los comandos que comnmente se utilizan para inspeccionar una base de datos y obtener estadsticas descriptivas de sus variables, especficamente veremos comandos como sum, el cual nos entrega un set de estadsticas bsicas de la variable, describe, y varios otros. En una quinta parte se enseara como se pueden modificar las bases de datos, especialmente, cambiando el nombre de las variables, unir bases de datos, eliminar y agregar variables, cambiar la estructura de ellas y crear nuevas variables a partir de las variables existentes. En una sexta parte se aplicar lo aprendido y a partir de ese ejercicio se introducir la utilidad de los archivos log y do. En la sptima parte se mostrar cmo podemos plasmar la informacin que nos interesa de los datos en diferentes tipos de grficos. Finalmente en la octava y ltima parte se ensear la utilidad del comando help, el cual nos ser de gran utilidad para poder avanzar y utilizar stata cuando no tenemos muy claro cual es el comando a utilizar. Es importante aclarar que gran parte de los comandos de stata se puede hacer mediante la utilizacin directa del comando, o mediante la utilizacin de ventanas. Durante este curso veremos ambas formas. Un concepto importante de entender antes de comenzar a utilizar este software estadstico, es el de Base de Datos, el primer paso para poder trabajar con STATA es cargar la base de datos. Una base de datos en un conjunto (matriz) de informacin, tenemos filas y columnas, las que en su conjunto forman la base de datos. Generalmente se organiza de forma tal que las variables se representan por columnas y las observaciones por filas. Por ejemplo, si estamos estudiando las variables escolaridad e ingreso para las mujeres. Nuestra base de datos tendr dos columnas, donde cada una de ellas representa la escolaridad e ingreso, y cada fila representa una mujer.

    escolaridad Ingreso 10 80.000 12 120.000 13 110.000 4 85.000 5 70.000 8 65.000 17 450.000 21 1.200.000 2 60.000

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    4

    I. Una pequea introduccin al programa STATA es una aplicacin completa e integrada, basada en comandos, que tiene todos los elementos necesarios para realizar anlisis estadstico, manejo de datos estadsticos y grficos. Las versiones mas nuevas de STATA (a partir de la versin 8.0) posee una forma ms fcil de utilizar, que consiste simplemente en hacer clic en ventanas con las opciones de anlisis y procesamiento de datos, adems tiene la opcin antigua mediante los comandos. El programa posee una ayuda en lnea, es un programa fcil y rpido de utilizar. Cmo se ve STATA? Cuando abrimos el programa, inmediatamente podemos distinguir 4 ventanas:

    Review: en esta ventana aparecen los comandos que han sido utilizados durante la seccin en turno. Results: muestra los resultados de la aplicacin de los comandos, slo los resultados ms recientes son visibles en esta ventana Variables: en esta venta se presenta el listado de variables que se encuentran en la base de datos que se este trabajando Commands: corresponde a la ventana donde introducen los comandos para obtener el resultado deseado. Sirve para utilizar STATA en forma interactiva.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    5

    Los conos de la parte superior tienen los siguientes usos:

    Abrir una base de datos

    Guardar una base de datos, una vez que ha sido modificada en el programa

    Imprimir los resultados de la ventana de resultados (STATA Results)

    Comenzar o abrir un archivo log. Estos archivos tienen un formato de texto y permiten ir guardando todos los resultados.

    Abrir el editor de do-file. Los archivos do son archivos con esta extensin que nos permiten en forma ordenada escribir todo lo que queremos hacer en nuestra base de

    datos: cambiar la base de datos, sacar estadsticas, etc, y luego presionando correr dicho do y obtener los resultados.2

    Permite ver y editar la Base de Datos.

    Es igual al EDITOR, pero no permite eliminar variables ni observaciones.

    Es para detener la ejecucin de un comando.

    2 Lo ideal es combinar la utilizacin de un do y un log; el primero permite tener en forma ordenada todos los comandos que se estn utilizando y todas las instrucciones que se quieren ejecutar, mientras que el segundo guarda en un archivo de texto todos los resultados que surgen de este archivo do.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    6

    II. Como organizar el trabajo en STATA Cuando se abre STATA es importante saber donde se esta trabajando, es decir, en que carpeta se estn guardando los resultados o desde que carpeta vamos a llamar la base de datos, etc. Si no se sabe la carpeta o directorio donde STATA esta ubicado podemos averiguarlo escribiendo el comando pwd:

    pwd C:\data Este resultado nos indica que estamos ubicados en el disco C del computador en la carpeta data Para cambiar el directorio o carpeta se debe realizar lo siguiente:

    cd C:\Nivelacion_Stata Utilizo el comando cd y entrego la nueva ruta. En este caso le estoy indicando al programa que se ubique en la carpeta Nivelacion_Stata que se encuentra en el disco C del computador. La ventaja de indicar desde un comienzo en que carpeta del computador se esta trabajando, es que evita indicar la ruta completa de los archivos cada vez que queramos abrir o guardar una base de datos, o abrir o guardar un log. Obviamente esto tiene sentido cuando para un trabajo especfico tenemos todos los archivos necesarios en la misma carpeta. Por ejemplo, si estamos trabajando con informacin de tres bases de datos distintas, y queremos dejar la informacin relevante para el estudio en una sola base datos (ms adelante veremos como hacer esto), lo ideal es trabajar en una sola carpeta, Nivelacion_Stata, y no tener las tres bases de datos repartidas en carpetas distintas. Si no estn en la misma carpeta no es til indicarle el directorio al comienzo, ya que igual cuando llamemos a cada una de las bases de datos, al estar en carpetas distintas, tendremos que cambiar la ruta. Importante: los sistemas operativos ms nuevos permiten que las carpetas tengan nombres con espacio en blanco, por ejemplo, Nivelacion Stata. Sin embargo, STATA no va a reconocer una carpeta que tenga espacios en blanco en el nombre, a no ser que se indique la ubicacin de esta carpeta entre comillas. Por este motivo, se debe evitar llamar a una carpeta con la que van a trabajar en STATA con nombres que contengan espacios en blanco.3 3 Esto problema es comn cuando trabajan en el Escritorio del computador, ya que la carpeta en este caso es C:\Documents and Settings\...., tiene espacios en blanco.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    7

    Supongamos que la carpeta en que vamos a tratar se llama Nivelacion Stata, en la primera lnea del siguiente cuadro podemos apreciar que al entregar la ubicacin de la carpeta utilizando el comando cd, el programa nos entrega un error invalid syntax, esto se debe a que el nombre de la carpeta tiene espacios en blanco. Si agregamos comillas a la ruta no se produce el error.

    Nota: si al introducir un comando no aparece un punto blanco despus de ejecutado el comando, significa que no se termino o no se ha terminado de ejecutar. Adems, siempre que aparezcan letras rojas significa que hay un error, la ayuda para el error la pueden encontrar pinchando r(198).

    En resumen, para trabajar ordenadamente en STATA es conveniente crear una carpeta para cada trabajo independiente, esta carpeta debe tener una ruta que no contenga espacios en blanco en los nombres.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    8

    III. Cmo cargar una base de datos? Las bases de datos en formato Stata tienen extensin .dta. Las versiones antiguas del software no se pueden abrir bases de datos que han sido trabajadas y guardas en una versin ms moderna, cuando intentemos hacer esto el programa entregar un error indicando que la base no tiene formato Stata. Antes de abrir una base de datos se tienen que cumplir dos condiciones:

    1- El programa debe estar limpio, sin ninguna base de datos ya cargada. Para limpiar el programa de otras bases de datos se debe utilizar el comando clear. Si he estado trabajando una base de datos previamente la cual se ha modificado y no he guardado estas modificaciones, al intentar abrir una nueva base de datos sin limpiar antes arrojar el siguiente error: no; data in memory would be lost 2- El programa debe tener suficiente memoria. Para entregarle memoria a Stata se debe utilizar el comando set mem. Por ejemplo, si la base de datos que deseamos cargar pesa 100 MB, en la ventana Stata Command debemos tipear: set mem 100m Si Ud. no agrega memoria y los 10 MB que vienen asignados al abrir el programa no son suficientes, el programa arrojar el siguiente error:

    no room to add more observations

    Esto tambin puede suceder cuando se ha trabajado en la base de datos y se han creado muchas variables: en un momento el programa se puede quedar sin memoria. En este caso se debe limpiar el programa (borrar la base de datos) utilizando el comando clear; entregarle ms memoria al programa utilizando set mem; abrir la base de datos y realizar todo nuevamente. Por esta razn es fundamental que Ud., cuando comience a trabajar, asigne la memoria necesaria para todas las variables que espera generar.

    CessarCloud

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    9

    El comando general para entregar memoria a Stata es:

    set mem #[b|k|m|g] [, permanently] con la opcin permanently la cantidad de memoria ingresada se mantendr cada vez que se inicie nuevamente el programa.

    Existen distintas formas de cargar una base de datos: 1- Utilizando una base ya grabada con la extensin de STATA, es decir, disponer de la base de datos como nombre.dta En este caso podemos

    apretar el icono y buscar la ubicacin de la base de datos. Tambin podemos hacerlo dirigindonos a File/Open 2- Otra forma es tipear en Stata Command use [disco en que la guardaremos] \ [ruta de acceso] \ [nombre de archivo.dta], clear. Por ejemplo:

    use "C:\Nivelacion_Stata\ingreso.dta", clear

    o simplemente

    use ingreso.dta, clear si ya le hemos indicado previamente a Stata que vamos a trabajar en la carpeta Nivelacion_Stata del disco C. Notar que en ambos casos el comando incorpora la opcion , clear, esto nos garantiza que la base de datos sea abra si es que ya existe otra base de datos previa en el programa, esta opcin ahorra el paso previo de ejecutar el comando clear antes de abrir la base de datos. Recuerde que si la carpeta en la que esta trabajando tiene espacios en blanco, debo poner comillas al llamar la base de datos, de lo contrario aparecer el siguiente error:

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    10

    Esto porque Stata cree que el nombre de la carpeta es simplemente Nivelacion. Si utilizamos comillas no se produce el error. Ahora si el nombre de la carpeta o el nombre de la base esta mal ingresado en el comando se produce el siguiente error:

    3- Traspasar los datos de un archivo Excel o similar copiando la informacin de este archivo al EDITOR de STATA. Esto se hace copiando en el archivo Excel las columnas (variables) que queremos traspasar como base de datos a STATA (Ctr+C). Luego nos

    dirigimos a STATA abrimos el EDITOR y pegamos la informacin (Ctr+V). Obviamente antes de hacer esto se debe haber limpiado Stata con el comando clear. Algunos aspectos relevantes antes de copiar los datos de Excel a Stata: Para Stata, como para cualquier otro software norteamericano, el separador de miles es la coma (,), y el separador de decimales es el punto (.); Si el computador en el que esta trabajando no esta configurado de esta forma, debe dirigirse a inicio Panel de Control Opciones regionales, de idioma, y de fecha y hora Configuracin regional y de idioma Opciones regionales, pichar personalizar, aqu se puede cambiar la configuracin numrica indicando que el smbolo decimal es . Y el smbolo de separacin de miles ,. Todas las variables que son numricas, deben estar en formato numrico antes de ser exportadas. El siguiente cuadro muestra lo que resulta de pasar la base de datos base.xls a Stata:

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    11

    El color rojo indica que la variable no es numrica. Generalmente las bases de datos muy grandes no vienen en excel, ya que este programa es limitado en cuanto al nmero de filas (observaciones) y nmero de columnas (variables). El nmero mximo de filas es de 65.536, y el nmero mximo de columnas es de 256. 4- Otra forma de cargar bases de datos es mediante el comando insheet, este comando permite cargar bases de datos en formato ASCII (texto) mediante el siguiente comando:

    insheet using C:\Nivelacion_Stata\junio05.txt o alternativamente:

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    12

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    13

    Cuando las bases de datos vienen el texto y son muy grandes no se pueden ver utilizando un block de notas, en estos casos se recomienda utilizar el programa TextPad que puede ser descargado gratuitamente (www.textpad.com). Siempre es recomendable inspeccionar la base de datos en texto antes de ser traspasada a Stata. 5- Si la base de datos tiene otro formato, por ejemplo, SPSS (.sav), dbase (.dbf), Access (.mbd), etc; existe un software llamado Stat Transfer, que permite transformar base de datos desde y a diversos formatos.

    Luego para guardar la base de datos utilizamos el comando save: 1- Si quiere reescribir la base de datos antigua: save C:\Nivelacion_Stata\ingresos.dta, replace Es importante escribir replace, sino el programa les enviara un error diciendo que la base de datos ya existe.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    14

    2- Si quiere guardar la base de datos con un nuevo nombre no es necesario tipear replace: save C:\Nivelacion_Stata\ingresos_new.dta Una vez que los datos han sido cargados, se puede optimizar el espacio que estos ocupan utilizando el comando compress, este comando comprime la base de datos. Es muy til cuando trabajamos con bases de datos grandes.

    Hasta ahora hemos aprendido como cargar una base de datos en Stata, en lo que sigue se vern los comandos bsicos para analizar una base de datos. Entonces, con los comandos recin estudiados, comencemos por abrir la base de datos:

    cd C:\Nivelacion_Stata set mem 100m use ingreso.dta, clear

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    15

    IV. Leyendo los datos

    Existen varios comandos que nos permiten obtener informacin preliminar acerca de de los datos y estadsticas acerca de ellos. Veremos bsicamente los comandos describe, codebook, edit, sum, tab, inspect, count y duplicate.

    Antes de ver detallamente cada uno de estos comandos descriptivos es necesario aclarar que cada uno de ellos puede ser utilizado para ver el comportamiento de grupos de observaciones mediante las opciones by e if. Por ejemplo: by sexo: codebook, el cual nos mostrara la aplicacin del comando codebook separado para cada sexo o codebook if sexo==1, el cual nos mostrar la aplicacin del comando codebook para el sexo que este codificado con el nmero 1. Tambin podemos leer los datos usando las ventanas correspondientes, tal como lo observamos en la siguiente figura:

    Como podemos ver, si vamos a la opcin Data y luego seguimos la opcin Describe data, veremos una serie de opciones que veremos a continuacin, tal como el comando describe o el codebook. Tambin mediante la opcin Data podemos directamente ver el editor de stata.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    16

    IV.1. Describe El comando describe entrega informacin de todas las variables que se encuentran en la base de datos. Esta informacin incluye el tipo de almacenamiento (byte, int, long, float, double, string)4, el formato de los datos, la variable que contiene el label (etiqueta), y la descripcin de la variable. Adems entrega informacin de nmero de observaciones, nmero de variables y tamao de la base de datos.

    . describe Contains data from C:\Nivelacin_I\ingreso.dta obs: 252,748 vars: 5 19 Mar 2006 12:01 size: 5,307,708 (49.4% of memory free) --------------------------------------------------------------------------- storage display value variable name type format label variable label --------------------------------------------------------------------------- esc byte %8.0g escolaridad (aos) expr float %9.0g experiencia laboral dhombre float %9.0g genero (1 hombre 0 mujer) ingreso float %9.0g ingreso laboral folio long %8.0g --------------------------------------------------------------------------- Cuando la base de datos es muy grande y slo se quiere obtener informacin de algunas de las variables contenidas en ella, despus de describe (o simplemente d) se ingresa la lista de variables de las cuales Ud. desea una descripcin. Otras formas de utilizar el comando describe:

    4 Ver Anexo A sobre el tipo de almacenamiento de datos

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    17

    Para usar el comando mediante el uso de ventanas basta con seguir el mismo esquema recin mostrado y hacer doble clic sobre Describe variables in memory.

    Luego se escribe el nombre de la variable de la cual quiero la descripcin y si quisiese, por ejemplo, una descripcin especifica, puedo aplicar alguna de las opciones que se observan en la ventana anterior. IV.2. Codebook Existen otras formas de obtener una descripcin de las variables en la base de datos, una de las mejores es usar el comando codebook. Al igual que con el comando describe, al tipear simplemente codebook se va a describir cada variable. El siguiente cuadro muestra la diferencia entre ambos comandos:

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    18

    Claramente el comando codebook es ms completo, presenta la etiqueta de la variable, el formato, el rango de los datos, si esta codificada en nmeros enteros (units: 1), cuantas observaciones no tienen dato de esta variable, el promedio, la desviacin estndar, y los percentiles. Tanto el comando describe como el comando codebook nos permite distinguir dos tipos de variables, las numricas y las no numricas. Slo se pueden obtener estadsticas de los datos cuando las variables son numricas, aunque muchas veces es ms fcil visualizar la base de datos cuando las variables tienen nombres en vez de nmeros o cdigos. Por ejemplo, en la variable dhombre de la base de datos vemos slo unos y ceros, siempre tenemos que tener en mente que uno significa hombre y cero mujer. Tambin podemos aplicar el comando va la utilizacin de ventanas, lo que es similar al caso de describe, con la salvedad de que el doble click se hace sobre Describe data contents (codebook). Ah se pone el nombre de la variable que queremos inspeccionar:

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    19

    Otra funcin que podemos aplicar sobre la misma ventana es condicionarla a algo, como, por ejemplo, que la inspeccin sea slo para lo hombres:

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    20

    IV.3. Edit Otra forma de conocer o tener una visin ms amplia de la base de datos es mediante el comando edit; el que nos mostrar una planilla donde podremos ver la base de datos completa; sus variables y todas sus observaciones. Tambin lo podemos hacer va ventanas mediante la opcin Data y luego Data editor

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    21

    Al igual que en los casos anteriores tambin se puede realizar la misma operacin va el comando edit y tambin podemos editar una matriz mas pequea especificando las variables que queramos incluir utilizando la encuesta casen 2003, por ejemplo edit sexo ecivil edad esc

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    22

    IV.4. ist; inspect; duplicates; count; order Un comando bastante til, similar al edit; es el list; el cal despliega los datos en la ventana de resultados (Stata Results); en vez de enviarnos al editor.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    23

    Otro comando; el cual asegura que una variable es una codificacin nica dentro de una base de datos, es el comando duplicates report. Este comando se usa generalmente para chequear que no existan observaciones duplicadas (folios duplicados) dentro de una base de datos. Si tenemos la siguiente base de datos:

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    24

    El resultado que entrega aplicar este comando a la variable id es el siguiente:

    Finalmente, existen otros dos comandos interesantes para inspeccionar la base de datos: inspect y count. El comando inspect muestra la distribucin de la variable, la cantidad de observaciones con valor cero, con valores mayores a cero y sin dato, as como la cantidad de nmero enteros y no enteros en la variable. Por ejemplo:

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    25

    El comando count, lo que hace es contar tal como lo dice su nombre. Por ejemplo:

    Un comando adicional; que si bien no sirve para inspeccionar la base de datos, si no ayuda a inspeccionarla; ya que nos permite ordenar las variables de la manera que ms nos acomode. Este comando es order el cual se utiliza de la siguiente manera: order folio edad esc ingreso dhombre sexo y nos entregar la base de datos de tal forma que al aplicar el comando edit la primera variable que veremos ser folio, luego edad, luego aos de escolaridad, etc. IV.5. Sum El comando sum entrega estadsticas bsicas: nmero de observaciones, promedio, desviacin estndar, mnimo y mximo, de las variables que se especifiquen. Si slo se escribe sum en Stata Command, se muestran las estadsticas de todas las variables en la base de datos.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    26

    . sum Variable | Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------- esc | 180914 8.319069 4.286882 0 21 expr | 252748 59.3625 101.0047 0 5045 dhombre | 252748 .4987854 .4999995 0 1 ingreso | 76993 195579.2 361822 1002 2.19e+07 folio | 252748 126374.5 72962.21 1 252748 Si nos interesan las estadsticas de una sola variable, por ejemplo, escolaridad: . sum esc Variable | Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------- esc | 180914 8.319069 4.286882 0 21 Si requerimos las estadsticas de escolaridad, pero separado para hombres y mujeres, primero se debe ordenar la base de datos por gnero (sort dhombre) y luego hacer un sum utilizando el comando by: . sort dhombre . by dhombre: sum esc --------------------------------------------------------------------------- -> dhombre = 0 Variable | Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------- esc | 91557 8.29598 4.30015 0 21 --------------------------------------------------------------------------- -> dhombre = 1 Variable | Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------- esc | 89357 8.342726 4.273139 0 21

    CessarOval

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    27

    Esto mismo se podra hacer alternativamente utilizando if : . sum esc if dhombre==0 Variable | Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------- esc | 91557 8.29598 4.30015 0 21 . sum esc if dhombre==1 Variable | Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------- esc | 89357 8.342726 4.273139 0 21 Si al comando sum le agregamos detail despus de una ,; STATA entrega una cantidad ms amplia de estadsticas sobre la variables. Adems de las ya descritas entrega los percentiles, la varianza, la asimetra y la kurtosis. . sum esc, detail escolaridad (aos) ------------------------------------------------------------- Percentiles Smallest 1% 0 0 5% 0 0 10% 2 0 Obs 180914 25% 5 0 Sum of Wgt. 180914 50% 8 Mean 8.319069 Largest Std. Dev. 4.286882 75% 12 21 90% 13 21 Variance 18.37735 95% 15 21 Skewness -.1286632 99% 17 21 Kurtosis 2.403091 Todo lo anterior se puede hacer tambin mediante ventanas, especificaremos slo un caso, donde se pide un sum de la variable esc y se pide una descripcin detallada, lo que se obtiene mediante la opcin Display additional statistics

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    28

    IV.6. Tabulate El comando tabulate (o tab) permite hacer tablas con las variables de inters. La tabla ms sencilla se realiza de la siguiente forma: . tab dhombre genero (1 | hombre 0 | mujer) | Freq. Percent Cum. ------------+----------------------------------- 0 | 126,681 50.12 50.12 1 | 126,067 49.88 100.00 ------------+----------------------------------- Total | 252,748 100.00 Esta tabla indica el nmero de observaciones total y de cada una de las categoras de la variable, el porcentaje que cada uno representa sobre el total y el porcentaje acumulado.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    29

    El comando tab1 permite hacer esto mismo pero para varias variables simultneamente: . tab1 dhombre esc -> tabulation of dhombre genero (1 | hombre 0 | mujer) | Freq. Percent Cum. ------------+----------------------------------- 0 | 126,681 50.12 50.12 1 | 126,067 49.88 100.00 ------------+----------------------------------- Total | 252,748 100.00 -> tabulation of esc escolaridad | (aos) | Freq. Percent Cum. ------------+----------------------------------- 0 | 10,833 5.99 5.99 1 | 2,481 1.37 7.36 2 | 5,434 3.00 10.36 3 | 9,193 5.08 15.44 4 | 10,303 5.69 21.14 5 | 7,512 4.15 25.29 6 | 19,165 10.59 35.89 7 | 7,004 3.87 39.76 8 | 20,503 11.33 51.09 9 | 10,582 5.85 56.94 10 | 12,984 7.18 64.12 11 | 9,384 5.19 69.30 12 | 35,263 19.49 88.79 13 | 4,820 2.66 91.46 14 | 3,965 2.19 93.65 15 | 3,156 1.74 95.39 16 | 3,177 1.76 97.15 17 | 3,853 2.13 99.28 18 | 881 0.49 99.77 19 | 292 0.16 99.93 20 | 122 0.07 100.00 21 | 7 0.00 100.00 ------------+----------------------------------- Total | 180,914 100.00 Adems, con este comando, se pueden realizar cruces entre variables, por ejemplo:

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    30

    . tab esc dhombre | genero (1 hombre 0 escolarida | mujer) d (aos) | 0 1 | Total -----------+----------------------+---------- 0 | 5,842 4,991 | 10,833 1 | 1,198 1,283 | 2,481 2 | 2,709 2,725 | 5,434 3 | 4,571 4,622 | 9,193 4 | 5,284 5,019 | 10,303 5 | 3,818 3,694 | 7,512 6 | 9,915 9,250 | 19,165 7 | 3,501 3,503 | 7,004 8 | 9,791 10,712 | 20,503 9 | 5,173 5,409 | 10,582 10 | 6,435 6,549 | 12,984 11 | 4,707 4,677 | 9,384 12 | 18,245 17,018 | 35,263 13 | 2,672 2,148 | 4,820 14 | 2,180 1,785 | 3,965 15 | 1,523 1,633 | 3,156 16 | 1,596 1,581 | 3,177 17 | 1,929 1,924 | 3,853 18 | 326 555 | 881 19 | 92 200 | 292 20 | 45 77 | 122 21 | 5 2 | 7 -----------+----------------------+---------- Total | 91,557 89,357 | 180,914 Si en vez de las frecuencias uno quiere ver el porcentaje, que sume 100% en forma horizontal (filas), se debe agregar a lo anterior una coma y la palabra row y poner adems nofreq (para que no se muestre las frecuencias):

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    31

    . tab esc dhombre, row nofreq | genero (1 hombre 0 escolarida | mujer) d (aos) | 0 1 | Total -----------+----------------------+---------- 0 | 53.93 46.07 | 100.00 1 | 48.29 51.71 | 100.00 2 | 49.85 50.15 | 100.00 3 | 49.72 50.28 | 100.00 4 | 51.29 48.71 | 100.00 5 | 50.83 49.17 | 100.00 6 | 51.73 48.27 | 100.00 7 | 49.99 50.01 | 100.00 8 | 47.75 52.25 | 100.00 9 | 48.88 51.12 | 100.00 10 | 49.56 50.44 | 100.00 11 | 50.16 49.84 | 100.00 12 | 51.74 48.26 | 100.00 13 | 55.44 44.56 | 100.00 14 | 54.98 45.02 | 100.00 15 | 48.26 51.74 | 100.00 16 | 50.24 49.76 | 100.00 17 | 50.06 49.94 | 100.00 18 | 37.00 63.00 | 100.00 19 | 31.51 68.49 | 100.00 20 | 36.89 63.11 | 100.00 21 | 71.43 28.57 | 100.00 -----------+----------------------+---------- Total | 50.61 49.39 | 100.00

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    32

    Si se quiere que los porcentajes sumen 100% en forma vertical (columnas) debemos hacer lo siguiente: . tab esc dhombre, col nofreq | genero (1 hombre 0 escolarida | mujer) d (aos) | 0 1 | Total -----------+----------------------+---------- 0 | 6.38 5.59 | 5.99 1 | 1.31 1.44 | 1.37 2 | 2.96 3.05 | 3.00 3 | 4.99 5.17 | 5.08 4 | 5.77 5.62 | 5.69 5 | 4.17 4.13 | 4.15 6 | 10.83 10.35 | 10.59 7 | 3.82 3.92 | 3.87 8 | 10.69 11.99 | 11.33 9 | 5.65 6.05 | 5.85 10 | 7.03 7.33 | 7.18 11 | 5.14 5.23 | 5.19 12 | 19.93 19.04 | 19.49 13 | 2.92 2.40 | 2.66 14 | 2.38 2.00 | 2.19 15 | 1.66 1.83 | 1.74 16 | 1.74 1.77 | 1.76 17 | 2.11 2.15 | 2.13 18 | 0.36 0.62 | 0.49 19 | 0.10 0.22 | 0.16 20 | 0.05 0.09 | 0.07 21 | 0.01 0.00 | 0.00 -----------+----------------------+---------- Total | 100.00 100.00 | 100.00 Si deseamos que se muestren ambos porcentajes: tab esc dhombre, col row nofreq Tambin se pueden hacer tablas utilizando el comando by, primero ordenando de acuerdo a la variable que voy a realizar las tablas, por ejemplo: sort dhombre by dhombre: tab esc Este cdigo entrega dos tablas de la variable escolaridad, una para los hombres y otra para las mujeres. Lo mismo es posible de ser realizado utilizando el condicional if:

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    33

    tab esc if dhombre==0 tab esc if dhombre==1

    Tambin se puede utilizar el comando tabulate para generar variables dicotmicas. Por ejemplo, si se quiere generar variables dicotmicas para cada ao de escolaridad:

    M==

    nosieducacindeaostienesi

    esc

    nosieducacindeaostienesi

    esc

    011

    2

    001

    1

    Se puede hacer de la siguiente forma:

    tab esc, generate(esc) Si los aos de educacin toman valores que van desde 0 a 21, se generarn 22 variables dicotmicas. Supngase ahora que se requiere hacer un cuadro con los aos de escolaridad, pero en vez de entregar la frecuencia o porcentaje de observaciones en cada categora, se requiere que muestre una estadstica de otra variable, por ejemplo, el promedio de ingreso. Para realizar este tipo de tablas se debe usar el comando tab agregndole despus de una coma la palabra summarize. Para el ejemplo citado debera utilizar el siguiente cdigo:

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    34

    . tab esc, summarize(ingreso) means | Summary of | ingreso escolaridad | laboral (aos) | Mean ------------+------------ 0 | 96996.235 1 | 104083.11 2 | 108236.24 3 | 112638.81 4 | 119092.96 5 | 119745.97 6 | 136860.84 7 | 121445.45 8 | 131005.63 9 | 147939.41 10 | 169646.75 11 | 171547.61 12 | 196789.47 13 | 234377.27 14 | 267368.38 15 | 337808.95 16 | 394113.77 17 | 599325.8 18 | 865582.61 19 | 918467.2 20 | 1127102.9 21 | 744900.67 ------------+------------ Total | 195714.26 Por ltimo, el comando tabstat permite realizar tablas con las siguientes estadsticas:

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    35

    -------------------------------------------------- mean promedio count cuenta el nmero de observaciones que tiene valor n igual que count sum suma max mximo min mnimo range rango=max-min sd desviacin estndar var varianza cv coeficiente de variacion (sd/mean) semean error estndar de la media = sd/sqrt(n) skewness asimetra kurtosis kurtosis median mediana (lo mismo que p50) p1 1st percentile p5 5th percentile p10 10th percentile p25 25th percentile p50 50th percentile (igual que la mediana) p75 75th percentile p90 90th percentile p95 95th percentile p99 99th percentile iqr rango interquantil = p75 - p25 q equivalente a especificar "p25 p50 p75" -------------------------------------------------- Al poner by(nombre) especifica que las estadsticas deben ser entregadas separadamente para cada valor de la variable nombre. Por ejemplo, si se quiere obtener el promedio, la mediana, el mximo y el mnimo de ingreso por gnero, se puede realizar de la siguiente forma: . tabstat ingreso, statistics(mean p50 max min) by(dhombre) Summary for variables: ingreso by categories of: dhombre (genero (1 hombre 0 mujer)) dhombre | mean p50 max min ---------+---------------------------------------- 0 | 162629.1 104000 9130004 1002 1 | 210198.5 120000 2.19e+07 1500 ---------+---------------------------------------- Total | 195579.2 120000 2.19e+07 1002 -------------------------------------------------- Como hemos visto en los casos anteriores tambin podemos tabular usando las ventanas:

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    36

    Si quisiramos graficar escolaridad contra sexo hacemos doble click sobre Table of summary statistics observamos el dibujo que viene y ponemos esc en Row variable y sexo sobre Column variable.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    37

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    38

    V. Modificacin de una base de datos. En esta seccin veremos como se pueden modificar las bases de datos, desde los nombres de sus variables y la generacin de nuevas variables hasta la forma se como se pueden unir dos bases de datos

    V.1. Modificacin de Variables de una base de datos Para lograr que una base de datos sea ms amigable y sea entendida por cualquier usuario, es recomendable incorporar etiquetas a los nmeros o cdigos de las variables. Esto se hace mediante la utilizacin de variables secundarias llamadas value labels. Si una variable tiene una variable secundaria que entregue etiqueta a los cdigos que contiene, debera aparecer en el resultado del comando describe. Por ejemplo, la variable dhombre:

    No tiene asociada una variable secundaria que nos indique que significa el nmero 1 y el nmero 0 en esta variable. Entonces para etiquetar los cdigos de una variable se deben realizar dos pasos:

    1- Crear la variable secundaria (value label) que realice el nexo entre los cdigos y

    sus etiquetas:

    label define generolbl 1 Hombre 0 Mujer 2- Indicar que la relacin entre la variable y su variable secundaria con las

    etiquetas:

    label values dhombre generolbl Al hacer un describe de la variable dhombre, este indica que existe una variable que contiene la etiqueta de los nmeros o cdigos de esta variable:

    CessarCloud

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    39

    Si es que la base de datos que uno tiene ya viene con las variables secundarias de etiquetas (value labels), y queremos saber que cdigo esta relacionado a que etiqueta, se debe utilizar el comando label list:

    Por otro lado si queremos en ese instante darle nombre a las variables y su respectiva descripcin, hacemos doble click sobre la variable y nos aparecer el siguiente cuadro:

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    40

    En Name escribimos el nombre de la variable y en Label su descripcin. Adicionalmente existen otros dos tipos de etiquetas: para las variables y para la base de datos.

    Para etiqueta una variable (variable label) se utiliza el comando label var:

    label var folio identificador individual

    Para etiquetar la base de datos se utiliza el comando label data:

    label data Base de Ingresos Completa

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    41

    Para ver la base de datos en la pantalla se puede tipear en Stata Command la palabra

    edit o , o alternativamente puedo tipear list Cuando una variable est en formato string (no numrico) no se pueden obtener, la diferencia es que el primero de los comandos despliega la hoja de clculo y el segundo despliega los datos en la ventana de resultados (Stata Results). Tambin en el editor se puede introducir las etiquetas a las variables y a los cdigos de cada variable. Cuando una variable est en formato string (no numrico) no se pueden obtener estadsticas de ella. Los comandos encode y decode cambian el formato de una variable string a numrico y viceversa:

    encode variable, generate(nueva_variable)

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    42

    Mediante este cdigo generamos una nueva variable que le asigna un cdigo a cada palabra distinta en la variable y deja como etiqueta la palabra. Ahora cuando la variable que no tiene formato numrico, pero en realidad es un nmero slo que al traspasarlo a la base de datos quedo en formato string, lo recomendable es utilizar el siguiente comando:

    generate nueva_variable=real(variable) V.2. Unir bases de datos: merge y append Muchas veces es necesario combinar dos o ms bases de datos para formar una sola. Para ello se pueden utilizar los comandos merge y append. El primero une dos bases de datos utilizando una variable en comn (generalmente es un folio o cdigo que identifica las observaciones en la base de datos). Las dos bases de datos deben estar guardadas en formato .dta y deben estar ordenadas de acuerdo a la variable que se va a pegar. El objetivo del comando merge es agregar variables (columnas) no observaciones (filas). Supongamos que tenemos dos bases de datos, la primera llamada uno.dta contiene la siguiente informacin:

    id esc

    sexo

    edad

    1 2 3 4 5 6 7 8 9

    8 9 11 13 15 2 0 10 9

    1 2 2 2 1 2 1 1 1

    20 55 45 47 32 31 28 26 35

    Y supongamos que tenemos otra base de datos (dos.dta) con la siguiente informacin:

    id ingreso

    1 3 4 6 8 9 10 11

    80000 99000 110000 130000 150000 200000 115000 98000

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    43

    Entonces si queremos pegar (match-merge) la informacin de ambas bases de datos, para formar una slo base de datos que contenga las variables: id, esc, sexo, edad e ingreso, debemos realizar el siguiente procedimiento:

    1- Ordenar la base de datos dos.dta (using data set) de acuerdo a las variables

    que vamos a hacer el pegado (id) y guardar esta base de datos:

    sort id

    save dos.dta, replace

    2- Abrir la base de datos uno.dta (master data set), ordenarla de acuerdo a id y

    pegar la informacin de la base dos.dta:

    use uno.dta sort id merge id using dos.dta

    La base de datos que resulta de esto es de la siguiente forma:

    id esc

    sexo

    edad

    ingreso _merge

    1 2 3 4 5 6 7 8 9 10 11

    8 9 11 13 15 2 0 10 9

    1 2 2 2 1 2 1 1 1

    20 55 45 47 32 31 28 26 35

    80000

    99000 110000

    130000

    150000 200000 115000 98000

    3 1 3 3 1 3 1 3 3 2 2

    Al realizar este pegue de datos, el programa generar una variable, si Ud. no le asigna un nombre se crear con el nombre _merge, pero Ud. puede darle el nombre que desee de la siguiente forma:

    merge id using dos.dta, _merge(nombre)

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    44

    Esta variable puede tomar tres valores: Ahora supongamos que no se dispone de la base ingreso.dta tal como fue presentada anteriormente, sino que dispongo de dos bases de datos:

    9 Ingreso1.dta: que tiene la variable folio, esc, dhombre e ingreso 9 Ingreso2.dta: que tiene la variable folio y expr.

    Si quiero construir entonces una sola base de datos que contenga todas estas variables en forma conjunta, debera realizar los siguientes pasos: use ingreso2.dta (using dataset) sort folio save ingreso2.dta, replace use ingreso1.dta (master dataset) sort folio merge folio using ingreso2.dta Lo que este pequeo cdigo nos indica es que carguemos la base de datos ingreso2.dta, la ordenemos (utilizando el comando sort) de acuerdo al identificador folio, y guardemos los cambios realizados (esta base de datos se denomina using dataset). Luego abrimos la base de datos a la cual le vamos a pegar variables (master dataset), ingreso1.dta, la ordenamos de acuerdo al identificador folio, y finalmente le pegamos la informacin que esta en la base ingreso2.dta utilizando el comando merge. Si alguna de las bases de datos no esta ordenada les arrojara un mensaje de error:

    using data not sorted master data not sorted

    Por otro lado, el comando append, anexa observaciones para el mismo conjunto de variables, es decir, agrega filas a la base de datos. Supongamos que adems de uno.dta tenemos otra base de datos (tres.dta) que contiene las mismas variables que la primera pero para otros 10 individuos distintos:

    _merge=1 cuando la observacin esta slo en Master Dataset _merge=2 cuando la observacin esta slo en Using Dataset merge=3 cuando las observaciones estn en ambas bases de datos

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    45

    id esc

    sexo

    edad

    10111213141516171819

    8 9 11 13 15 2 0 10 9 4

    1 2 2 2 1 2 1 1 1 2

    20 55 45 47 32 31 28 26 35 20

    Entonces podemos juntar estas 19 observaciones en una sola base de datos mediante el comando append, de la siguiente forma: use dos.dta append using tres.dta El resultado es el siguiente:

    id esc

    sexo

    edad

    1 2 3 4 5 6 7 8 9 10111213141516171819

    8 9 11 13 15 2 0 10 9 8 9 11 13 15 2 0 10 9 4

    1 2 2 2 1 2 1 1 1 1 2 2 2 1 2 1 1 1 2

    20 55 45 47 32 31 28 26 35 20 55 45 47 32 31 28 26 35 20

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    46

    Supongamos ahora que no contamos con la base ingreso.dta, sino que tenemos dos bases de datos. La primera (ingreso3.dta) tiene las primeras 126.374 observaciones, y la segunda (ingreso4.dta) tiene las siguientes 126.374 observaciones. En total si juntamos ambas bases completamos las 252.748 observaciones de la base original (ingreso.dta). Podemos juntar la informacin de ambas bases en una sola de la siguiente forma: use ingreso3.dta

    append using ingreso4.dta Podemos juntar bases de datos usando las ventanas tambin; en la opcin Data existe la opcin Combine datasets luego se hace doble clic en Merge o Append y nos sale una ventana que nos permite juntar dos o mltiples bases de datos:

    Luego, para el caso de merge, buscamos la base que le queremos aadir a la base que estamos usando y ponemos su direccin donde sale Filnename of dataset on disk, luego en Key variables ponemos el nombre de la variable mediante el cual queremos unir las dos bases de datos.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    47

    V.3. Condensar una base de datos: collapse En algunas ocasiones las bases de datos disponen de ms de una observacin por individuo, pas, empresa, etc. Si nos interesa trabajar slo con una observacin por individuo podemos condesar la base de datos mediante el comando collapse. Suponga que tiene una base de datos de hogares y que cada hogar tiene una observacin para cada miembro del hogar que lo integra. Si cada hogar dispone de un identificador nico, entonces se puede formar una base de datos alternativa que contenga una sola observacin por hogar (en lugar de una observacin por individuo) para cada una de las variables deseadas. Esta observacin puede contener la media, desviacin estndar, suma, u otro estadstico por hogar (sino se especifica calcula la media). Por ejemplo: collapse (mean) edad (max) educacion (p50) ingreso, by(hogar) El cdigo anterior crea una base de datos con cuatro variables (hogar, edad, educacin e ingreso) con una observacin por hogar, la cual contiene el promedio de la edad por hogar, el mximo de la educacin por hogar y la mediana del ingreso por hogar.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    48

    V.4. Cambiar la estructura de la base de datos: reshape Para explicar como se utiliza este comando primero vamos a definir dos representaciones de las bases de datos: wide form (forma horizontal) y long form (forma vertical). Long form:

    Wide form:

    En la base de datos en forma vertical (long form) podemos ver que existe una variable que es constante al interior de un grupo, en este caso, al interior de una empresa,

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    49

    tenemos una variable que vara al interior de este grupo, el precio, y una variable que me sirve para identificar las distintas observaciones al interior de un grupo, que es la variable ao. En la base de datos en forma horizontal (wide form), tengo una sola observacin por empresa pero tengo ms de una variable precio, una para cada ao. El comando reshape me permite intercambiar las bases de datos entre estos dos tipos de formatos, de la siguiente forma: Long Wide

    reshape long precio, i(Empresa) j(ao) (Wide Long) reshape wide precio, i(Empresa) j(ao) (Long Wide)

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    50

    Wide Long

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    51

    V.5. Eliminar variables: keep y drop Ahora, si se tiene una base de datos que contiene muchas variables y slo se va a trabajar con algunas de ellas, se puede utilizar el comando keep para mantener en la base de datos slo las variables que interesan. Por ejemplo:

    keep esc ingreso Tambin podramos requerir mantener todas las variables pero slo un subconjunto de las observaciones, como por ejemplo, las de los hombres:

    keep if dhombre==1 o las de las personas con menos de 12 aos de escolaridad

    keep if esc=200000 El comando drop cumple el mismo rol que el comando keep, sin embargo, ste borra observaciones o variables, en vez de mantenerlas. Para realizar lo mismo que hicimos con el comando keep pero utilizando drop, se debera hacer lo siguiente:

    drop expr dhombre folio drop if dhombre==0 drop if esc>12 drop if ingreso

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    52

    V.6. Crear variables: generate y egen Uno de los comandos ms relevantes en STATA es generate (gen o g). Este comando genera una nueva variable definida en base a una expresin numrica, la cual puede contener otras variables. El siguiente cuadro resume las expresiones ms utilizadas:

    + suma >= Mayor o igual & y - resta > Mayor estricto que | o * multiplicaci

    n

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    53

    Ejemplos: generate age2 = age*age (genera variable edad al cuadrado) gen unitpr = cost/quantity

    gen xlag = x[_n-1] Otro ejemplo. En la base ingreso.dta se tienen los aos de escolaridad (esc); a partir de esta variable se podra generar una nueva (tesc) con el nivel de educacin alcanzado por cada individuo (Bsica Incompleta, Bsica Completa, Media Incompleta, etc..). Esto se hace con el siguiente cdigo: g tesc=. replace tesc=1 if esc8 & esc12 El comando replace, reemplaza observaciones que cumplen con cierta condicin con el valor que uno especifica. Otro comando til, similar a generate, es el comando egen. Este contiene una gran cantidad de funciones pre-establecidas con las que se pueden generar nuevas variables. La diferencia con el comando generate es que en este uno define como quiere generar la variable (sumando, restando, multiplicando, etc.), sin embargo, el comando egen tiene funciones ya establecidas, por ejemplo, el promedio, la desviacin estndar, etc Algunos ejemplos de estas funciones son:

    count(x): crea una variable que contiene el numero de observaciones (distintas de ) en x.

    concat(x y z): concatena las variables entre parntesis, genera una variable con formato string (no numrico)

    group(x y z): genera una variable que tomas los valores 1,2, para los grupos formados por las variables entre parntesis. El orden de los grupos va a depender de cmo estn ordenadas las variables entre parntesis.

    max(x): genera una variable que contiene el mximo valor de x mean(x): genera una variable que contiene el promedio de x median(x): genera una variable que contiene la mediana de x min(x): genera una variable que contiene el mnimo valor de x

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    54

    rmax(x y z): entrega el mximo valor entre x, y, , z para cada observacin (fila)

    rmean(x y z): entrega el promedio de x, y, , z para cada observacin (fila)

    rmin(x y z): entrega el mnimo valor entre x, y, , z para cada observacin (fila)

    rmiss(x y z): entrega el nmero de missing values (sin observacin) en x, y, , z para cada observacin (fila)

    rsum(x y z): entrega la suma de x, y, , z para cada observacin (fila)

    seq(), from(a) to(b) block(c): genera una secuencia de nmeros de a hasta b en bloques de c.

    sum(x): genera una variable que contiene la suma de x. La mayora de estas funciones pueden ser combinadas con el comando by, el que permite generar variables por diversas categoras. Por ejemplo, si se quiere crear el promedio de la experiencia laboral para cada ao de educacin, se debe realizar lo siguiente: egen promexpr=mean(expr), by(esc) by esc: egen promexpr=mean(expr) La segunda forma requiere que la base de datos est ordenada de acuerdo a la variable utilizada en by, en este caso, debemos tipear antes:

    sort esc

    En esta parte veremos de manera ms aplicada los comandos utilizados en las clases anteriores; para ello ser necesario ensear a usar los archivos do y los archivos log, que como veremos sern de gran utilidad, ya que nos permitirn ir guardando informacin. Finalmente veremos el comando help; el cual es un comando auxiliar que nos permite encontrar los comandos necesarios para realizar un gama de funciones en stata. Como con casi todos los comandos tambin se pueden obtener los mismos resultados, mediante el uso de ventanas:

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    55

    Luego de apretar doble clic sobre Create new variable podemos ver que es trivial la forma de generar otra variable.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    56

    VI. Aplicando lo aprendido En esta seccin veremos de manera aplicada lo que hemos aprendido hasta ahora y en los dos siguiente mostraremos a partir de est seccin la utilidad de los archivos do y log. El archivo log es el archivo donde se va guardando todo lo que aparece en la ventana de resultados, mientras que el do es un archivo que nos permite programar todo el trabajo que queremos realizar en stata. VI.1. Un ejemplo aplicado Supongamos que, utilizando la encuesta casen 2003, queremos obtener la tasa de pobreza y la tasa de indigencia; adems el nmero de personas que caen en sta categora. El primer paso es establecer memoria (si no esta preestablecida en el programa) y luego abrir la base de datos:

    set mem 700m use C:\Nivelacin_Stata\Casen2003.dta

    tambin la apertura de la base de datos, se puede hacer de la manera alternativa que vimos en la primera parte.

    set mem 700m cd C:\Nivelacin_Stata\ use Casen2003.dta

    Luego debemos empezar a generar las variables necesarias para encontrar las tasas de pobreza e indigencia correspondiente. Como la encuesta CASEN se realiza a hogares y nosotros estamos interesados en el porcentaje de individuos pobres e indigentes y no en el porcentaje de hogares pobres e indigentes; lo que necesitamos es tener algn indicador per capita. Como vimos en la clase anterior al aplicar el comando egen group(x) estamos creando una variable que toma los valores 1,2, para todos los valores que puede tomar x o la variable entre parntesis. El orden de los grupos va a depender de cmo estn ordenadas las variables entre parntesis. Por ejemplo; si la variable x fuese ao de nacimiento del individuo y est tomar los valores 1980, 1981 y 1982; la variable que se genera a travs de este comando es una variable que toma el valor de 1 para todos aquellos que nacieron en 1980; el valor de 2 para todos lo que nacieron en 1981 y el valor de 3 para los que nacieron en 1982.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    57

    Lo que generaremos a continuacin es una variable que generar un identificador que ser el mismo para los individuos que pertenecen a un mismo hogar y luego mediante el comando tab podemos ver el nmero de personas que existen por hogar y realizar una pequea inspeccin de la variable: egen id=group(segmento folio) edit id np

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    58

    En la tabla anterior podemos ver que hay hogares (68.153) e individuos (257.077); adems podemos ver que el nmero de individuos por hogar vara. La variable id tiene asignado un cdigo por hogar y vemos que el hogar 13 tiene asociados 3 individuos, a su vez el hogar nmero 7 tiene asociados 2 individuos y en el hogar numero 4 son 5 individuos. Ahora, sabiendo el nmero de personas que viven en el hogar, generaremos el ingreso per capita del hogar para lo cual tenemos que dividir el ingreso total del hogar por el nmero de personas que viven en l. Veamos los diferentes tipos de personas que viven en el hogar: tab pco1 parentesco con el | jefe(a) hogar | Freq. Percent Cum. -----------------------+----------------------------------- jefe(a) de hogar | 68,153 26.51 26.51 cnyuge o pareja | 47,864 18.62 45.13 hijo(a), hijastro(a) | 104,375 40.60 85.73 padre o madre | 1,776 0.69 86.42 suegro(a) | 1,166 0.45 86.87 yerno o nuera | 3,749 1.46 88.33 nieto(a) | 19,044 7.41 95.74 hermano(a) | 2,828 1.10 96.84 cuado(a) | 942 0.37 97.21 otro familiar | 4,875 1.90 99.10 no familiar | 1,675 0.65 99.75 s. domstico p.adentro | 630 0.25 100.00 -----------------------+----------------------------------- Total | 257,077 100.00 Como vemos en algunas casas ocurre que hay personas que prestan servicios domsticos puertas adentro y generalmente para calcular el ingreso per capita del hogar debemos excluir a esas personas. Para ello generaremos una variable llamada s; la cual tomar el valor 1 si la personas pertenece al hogar y no presta servicios dentro de l; y toma el valor de 0 si la personas presta servicios dentro del hogar. Despus generaremos el nmero de personas que pertenecen al hogar y no prestan servicios dentro de l. Finalmente botamos la variable s, ya que la creamos slo como una variable momentnea para excluir a las personas que prestan servicios domsticos puertas adentro y ya tenemos la variable np, que es la que nos seala el nmero de personas que realmente son parte del hogar. g s=1 replace s=0 if pco1==12 egen np=sum(s), by(id) drop s

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    59

    Ahora, que tenemos el nmero de personas que pertenecen al hogar, estamos listos para crear la variable que nos indica el nivel de ingreso individual de los habitantes del pas y poder separarlo de acuerdo al nivel de pobreza. g ing=ytothaj/np Una persona es pobre si est recibe ingresos menores a $43.712 y vive en zona urbana y $29.473 y est vive en zona rural. Una persona ser indigente si recibe ingresos menores a $21.856 y vive en zona urbana; y $16.842 si esta vive en zona rural. Como se est pidiendo el nmero y le porcentaje de pobres e indigentes, necesitamos clasificar a los individuos en alguna de las tres categoras posible; no pobres; pobres no indigentes e indigentes. g pobre=1 if ing

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    60

    VI.2. Archivos log Existen dos formas de trabajar en Stata: interactiva y programada. Cuando se trabaja en forma programada se escribe en un archivo do todos los comandos que se quieren ejecutar y luego se corre el programa de una vez para obtener los resultados, esto ser visto en la otra seccin. Cuando se trabaja en forma interactiva, se ejecutan los comandos directamente en la ventana Command, viendo los resultados en la ventana Results. Cuando se trabaja de esta forma es importante ir registrando todos los pasos realizados, en caso que se quiera repetir algo en una siguiente ocasin o simplemente para tener un respaldo de todo lo realizado. Para esto se utilizan los archivos log, estos no son ms que un archivo de texto que contiene todo los comandos ejecutados y sus respectivos resultados. El archivo log del ejercicio visto anteriormente:

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    61

    Siempre es recomendable abrir un archivo log al inicio de cualquier trabajo:

    log using clase1.log

    Si el archivo log que estamos tratando de abrir ya exista, el programa nos entregar el siguiente error:

    file C:\Nivelacion_Stata\clase1.log already exists Frente a esto tenemos dos opciones, cual de ellas se tome depende de los objetivos: reemplazar el archivo ya existente, o seguir escribiendo en el archivo existente a continuacin de lo ltimo ingresado. Para reemplazar el archivo existente:

    log using clase1.log, replace Para seguir a continuacin del archivo existente:

    log using clase1.log, append VI.3. Archivos do: para trabajar en forma programada en STATA Como se ha mencionado en clases anteriores, existen dos formas de trabajar en STATA, en forma interactiva y en forma programada. La primera forma consiste en ir ejecutando los comandos directamente en la ventana de comando, los resultados se obtienen inmediatamente en la ventana de resultados. Al trabajar de esta forma, la nica manera de ir registrando todo lo realizado es mediante los archivos log. Sin embargo, esta forma de trabajar tiene la desventaja de que una vez que uno ha realizado varias modificaciones a la base de datos y uno quiere volver atrs, se pierde todo lo realizado y hay que volver a reconstruir todo con ayuda del log. La manera ms ordenada de trabajar en STATA cuando se requiere hacer varias modificaciones a la base de datos y obtener varias estadsticas de ella, es programar todos los comandos en un archivo do.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    62

    El archivo do no es mas que un archivo de texto que permite escribir las instrucciones para la ejecucin de comandos en Stata.

    Para abrir el archivo do debemos pinchar el icono , y se abrir la siguiente ventana:

    Por ejemplo, la forma tpica de comenzar un do sera la siguiente:

    Este icono es para correr el do.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    63

    Con esto ya he abierto la base de datos. A continuacin puedo empezar a escribir los comandos para transformar la base de datos, para obtener estadsticas, etc. Exactamente de la misma forma que lo hara en la ventana de comandos pero ahora en forma ms ordenada. Es importante constantemente ir corriendo el do para detectar los errores que se estn cometiendo. En el cuadro siguiente observamos el archivo do file correspondiente al ejemplo visto en la seccin 1;

    Al poner * antes de cualquier frase, no se lee como comando. Sirve para ir haciendo anotaciones

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    64

    A continuacin reportaremos las tasas de indigencia y pobreza para diferentes categoras: a. Por sexo del jefe de hogar En primer lugar ser necesario crear una variable llamada sexojh, el cual tomar el valor de 1 si ste es hombre y 2 si ste es mujer. Luego se etiquetar la variable dndole el nombre de hombre cuando la variable sexojh tome el valor 1 y mujer cuando sexojh tome el valor 2.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    65

    g sexojh=sexo if pco1==1 label define sexolbl 1 "Hombre" 2 "Mujer" label values sexojh sexolbl Ahora se generar una variable que tomar el valor de 1 para todos los miembros del hogar cuando est es hombre y 2 para todos los miembros del hogar cuando este es mujer. Esto se hace generando una variable con el comando egen sexojhm=max(sexojh), by (id) el cual genera una variable que toma el nmero mayor asociado a la variable sexojh- por hogar; y como en los hogares donde el jefe de hogar es hombre el nmero mayor de la variable sexojh es 1 lo otros son missings- y en los hogares donde el jefe es mujer ese nmero es 2. egen sexojhm=max(sexojh), by(id) drop sexojh rename sexojhm sexojh label values sexojh sexo edit id sexo sexojh sexojhm

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    66

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    67

    tab pobre sexojh [w=expr], col nofreq Situacion de | sexojh pobreza | hombre mujer | Total -------------------+----------------------+---------- Indigente | 4.24 6.30 | 4.70 Pobre no indigente | 13.82 15.00 | 14.08 No pobre | 81.94 78.70 | 81.22 -------------------+----------------------+---------- Total | 100.00 100.00 | 100.00 Podemos decir que las personas que viven en hogares con jefes de hogar hombres tienen una tasa de indigencia es un 4.24%, y un porcentaje de pobres no indigentes igual a 13.82%, con lo cual la tasa de pobreza es un 18.06%. Por su parte las personas que viven en hogares con jefes de hogar mujer tienen una tasa de indigencia de 6.3%, y un porcentaje de pobres no indigentes un 15%, de esta forma la tasa de pobreza es 21.3%. b. Nmero de personas del hogar Se generar una variable llamada categ_np la cual divide a los hogares en 8 diferentes categoras, la cuales dependen del nmero de personas que tenga el hogar. La categoras 1, son los hogares que tienen un solo miembro, la segunda categoras son los hogares que tienen dos miembros, y as hasta la octava categora que incluye a los hogares que tienen 8 o ms miembros. g categ_np=np replace categ_np=8 if np>=8 tab categ_np pobre [w=expr], row nofreq | Situacion de pobreza categ_np | Indigente Pobre no No pobre | Total -----------+---------------------------------+---------- 1 | 1.96 2.89 95.15 | 100.00 2 | 1.95 4.25 93.81 | 100.00 3 | 3.15 9.24 87.60 | 100.00 4 | 3.76 12.65 83.58 | 100.00 5 | 4.74 16.29 78.97 | 100.00 6 | 7.08 18.98 73.94 | 100.00 7 | 7.41 22.18 70.41 | 100.00 8 | 9.73 24.45 65.82 | 100.00 -----------+---------------------------------+---------- Total | 4.70 14.08 81.22 | 100.00 En esta tabla se puede apreciar como las tasas de pobreza e indigencia aumentan a medida que aumenta el tamao del hogar. En hogares de una persona el porcentaje de indigentes es 1.96%, y el porcentaje de pobres no indigentes es 2.89%. Por el contrario, en hogares

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    68

    con 8 personas o ms, el porcentaje de indigentes de 9.73% y de pobres no indigentes 24.45, con lo cual la tasa de pobreza en estos hogares alcanza un 34.2%. c. Por educacin del Jefe de hogar En primer lugar ser necesario crear una variable que determine el nivel de educacin (aos de educacin) de las personas encuestadas y luego etiquetar aquellas variables. El nivel de educacin viene determinado en la base de datos, sin embargo por ejercicio aqu se vuelve a generar una variable que determine el nivel educativo que la persona a alcanzado: g leduc=0 if e7t==1 | e7t==4 | e7t==16 replace leduc=1 if e7t==2 & e7c

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    69

    tab leducjh pobre [w=expr], row nofreq | Situacion de pobreza leducjh | Indigente Pobre no No pobre | Total -----------+---------------------------------+---------- 0 | 7.49 18.53 73.98 | 100.00 1 | 7.93 20.58 71.48 | 100.00 2 | 5.68 18.99 75.34 | 100.00 3 | 5.13 17.09 77.78 | 100.00 4 | 3.49 11.19 85.33 | 100.00 5 | 0.93 5.27 93.81 | 100.00 6 | 1.33 3.59 95.08 | 100.00 7 | 0.54 0.51 98.95 | 100.00 -----------+---------------------------------+---------- Total | 4.70 14.08 81.22 | 100.00 En la tabla anterior se puede apreciar claramente como la tasa de pobreza e indigencia disminuyen con el nivel educacional. VII. Crear matrices para guardar los datos Una forma prctica de guardar la informacin proveniente de la aplicacin del comando sum es a travs de matrices. Cuando se hace un sum de una variable, en la memoria temporal del programa quedan guardadas las estadsticas; el nombre con el que cada una de stas se guarda se puede saber al tipear return list despus de hacer un sum. . sum esc Variable | Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------- esc | 180914 8.319069 4.286882 0 21 . return list scalars: r(N) = 180914 r(sum_w) = 180914 r(mean) = 8.319068728788263 r(Var) = 18.37735307412638 r(sd) = 4.28688150922397 r(min) = 0 r(max) = 21 r(sum) = 1505036 Lo mismo se puede hacer despus de un sum, detail: . sum esc, detail escolaridad (aos)

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    70

    ------------------------------------------------------------- Percentiles Smallest 1% 0 0 5% 0 0 10% 2 0 Obs 180914 25% 5 0 Sum of Wgt. 180914 50% 8 Mean 8.319069 Largest Std. Dev. 4.286882 75% 12 21 90% 13 21 Variance 18.37735 95% 15 21 Skewness -.1286632 99% 17 21 Kurtosis 2.403091 . return list scalars: r(N) = 180914 r(sum_w) = 180914 r(mean) = 8.319068728788263 r(Var) = 18.37735307412638 r(sd) = 4.28688150922397 r(skewness) = -.1286631597722507 r(kurtosis) = 2.403091261120855 r(sum) = 1505036 r(min) = 0 r(max) = 21 r(p1) = 0 r(p5) = 0 r(p10) = 2 r(p25) = 5 r(p50) = 8 r(p75) = 12 r(p90) = 13 r(p95) = 15 r(p99) = 17 Supngase que se requiere hacer la siguiente tabla de datos:

    Genero Ingreso promedio

    Escolaridad promedio

    Experiencia laboral

    promedio. Hombre

    Mujer

    Esto puede hacerse generando una matriz de dos filas y tres columnas, para posteriormente completar sus elementos con las estadsticas correspondientes. Para esto primero se debe generar la matriz, llammosla A. matrix A=J(2,3,0)

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    71

    Luego se hace el primer sum, de la variable ingreso para los hombres, y guardo este resultado en la posicin [1,1] de la matriz: sum ingreso if dhombre==1 matrix A[1,1]=r(mean) Y as sucesivamente hasta completar toda la matriz: sum ingreso if dhombre==0 matrix A[2,1]=r(mean) sum esc if dhombre==1 matrix A[1,2]=r(mean) sum esc if dhombre==0 matrix A[2,2]=r(mean) sum expr if dhombre==1 matrix A[1,3]=r(mean) sum expr if dhombre==0 matrix A[2,3]=r(mean) Con esto se completa la matriz. Luego para que se vea, en Stata Results se tipea el comando matriz list: . matrix list A A[2,3] c1 c2 c3 r1 210198.54 8.3427264 58.336718 r2 162629.12 8.2959796 60.383309 Esta matriz se puede copiar, seleccionando la matriz en la ventana de resultados apretando el botn derecho y pinchando copy table; luego se puede llevar a un archivo Excel para su edicin. VIII. Ciclos recursivos El comando while permite ejecutar una funcin en forma recursiva mientras cierta condicin se cumpla. Por ejemplo: local i while `i

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    72

    IX. Grficos En STATA se pueden realizar grficos de todos los tipos. Esto, al igual que otras funciones preestablecidas, no requiere del conocimiento de todos los comandos, ya que pinchando Graphics aparecen todas las opciones y en cada una de ellas un cuadro de opciones bastante completo:

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    73

    Por ejemplo, si queremos realizar un histograma nos aparece el siguiente cuadro:

    Donde se nos presentan varias opciones, como hacer el grfico por cierta categora (por ejemplo gnero) a travs del comando by, condicionar el grfico a cierto grupo a travs del comando if, introducir factores de expansin, ajustar una densidad normal, ajustar una densidad estimada en forma no paramtrica (kernel), y poner ttulos, etiquetas, etc

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    74

    Veamos algunos ejemplos.

    1. Utilizando la base de datos ingreso.dta realicemos un histograma de la variable escolaridad. Esto se hace mediante el siguiente comando:

    histogram leduc

    Pero hagmoslo un poco ms elaborada:

    histogram esc, ytitle(Densidad) xtitle(Nivel de Educacin) title(Distribucin del nivel de escolaridad, color(green))

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    75

    En el grfico observamos que el nmero de personas con educacin va cayendo a medida que aumenta el nivel educativo. Sin embargo observamos que se observa un gran nmero de personas sobre el nmero 1, lo que equivale a educacin bsica incompleta, y luego observamos otro peca en el nmero 4, lo que equivale a educacin media completa. Ahora hagamos este mismo grfico pero separando a los hombres de las mujeres: histogram leduc, ytitle(Densidad) xtitle(Nivel de Educacin) by(sexo , title(Ditribucin del nivel de escolaridad, color(green)))

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    76

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    77

    2. Ahora realicemos un grfico de dispersin entre aos escolaridad e ingreso: twoway (scatter ing esc) if esc

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    78

    Pero; qu ocurre con ambos grficos?, ocurre que no se observa una correlacin entre el nivel de ingresos y el nivel de escolaridad, debido a que los ingresos muy altos distorsionan la distribucin. A continuacin mostraremos un grafico de puntos junto a su lnea de regresin, pero que slo toma en cuenta a los individuos que tienen ingresos menores a un milln de pesos. twoway (scatter ing esc) (lfit ing esc ) if ing

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    79

    3. Hagamos un grfico de barras con el ingreso promedio por sexo y situacin de pobreza: graph bar (mean) ing, over(sexo, label(labsize(small))) over(pobre, label(labsize(small))) ytitle(Ingreso promedio) title(Ingreso promedio por gnero y situacin de pobreza)

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    80

    Este grfico nos muestra que para los indigentes y los pobres no indigentes el nivel de ingreso entre hombres y mujeres es similar, sin embargo para los individuos no pobres el ingreso de los hombres supera al ingreso de las mujeres.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    81

    Un grfico til son los box plots, estos entregan informacin sobre el centro, dispersin, simetra y observaciones extremas, en un solo grfico. Por ejemplo observamos en el siguiente box-plot del ingreso per cpita. La lnea horizontal dentro de la caja muestra la mediana. La caja muestra el rango intercuartil y, correspondiente a la diferencia entre el ingreso del percentil 75 y del percentil 25. La lnea superior horizontal se establece en un valor igual al percentil 75 ms 1,5 veces el rango intercuartil. La lnea inferior horizontal, por su parte, se fija en un valor igual al percentil 25 menos 1,5 veces el rango intercuartil. Todos los valores superiores o inferiores a estas lneas representan valores extremos (outliers) de la distribucin. Podemos ver que los nmeros o coinciden realizando un sum detail, el que se muestra a continuacin del box-plot.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    82

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    83

    X. Ayuda: Help La ayuda que trae este programa es bastante amigable y fcil de utilizar. Si Ud. Se dirige a Help se despliega un cuadro con diferentes opciones, puede buscar ayuda por contenidos, por comandos, etc, en Whats new encontrar todas las novedades del programa, que nuevos comandos hay y podr descargarlos haciendo un update.

    Por ejemplo, supongamos se quiere saber como calcular correlacin entre variables. Entonces se debe buscar en Search:

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    84

    Dependiendo que este buscando pincha el comando (en azul), y se abrir una ventana con una completa ayuda sobre el comando.

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    85

    Para que el Help de STATA le sea realmente til es fundamental que Ud. aprenda a leer la sintaxis de cada comando. Por ejemplo, en este caso la sintaxis del comando correlate es la siguiente: correlate [varlist] [if] [in] [weight] [, correlate_options]

  • DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE

    86

    Esta sintaxis nos indica que el commando correlate puede ser utilizado entregando el listado de variables, sino se entrega el default es considerar todas las variables en la base de datos. Se puede utilizar la opcin if, in y weight todas ellas antes de la coma, la que es utilizada tambin en forma opcional para poner algunas opciones del comando. Entonces siempre lo que aparece en parntesis cuadrados son alternativas opcionales del comando. Ms adelante de la sintaxis, se indican cuales son estas correlate_options, tambin se presenta una descripcin general del comando y sus opciones. A continuacin se muestra otro ejemplo de sintaxis, para el comando table: table rowvar [colvar [supercolvar]] [if] [in] [weight] [, options] Recordemos que todo lo que esta entre parntesis cuadrado son opciones voluntarias de comando. En este caso rowvar no esta entre parntesis cuadrado, significa que debemos obligadamente sealar la variable fila en la tabulacin, es voluntario indicar la variable de columna, si no se indica la tabulacin resultante es una distribucin de la variable sola, si se indica colvar la tabla ser un cruce entre rowvar y colvar. Este ejemplo nos permite notar la diferencia en aquellos insumos del comando que son obligatorios de los que son voluntarios. Puede ser que algunos de los comandos que aparezcan Ud. no los tenga cargados, en este caso si se encuentra conectado a Internet los podr bajar online. Aparecer algo de la siguiente forma:

    Donde pinchando la palabra en azul se puede descargar el comando, as como su ayuda. Una forma ms completa de buscar ayuda es a travs de los manuales, estos adems de traer una ayuda sobre los comandos generalmente contiene toda una descripcin terica de ellos. Por ejemplo, en el caso de un modelo de regresin lineal, explica lo que es una modelo de este tipo. Adems el manual de grficos es muy til, ya que trae mltiples ejemplos que se pueden adecuar a los que uno anda buscando. En esta parte veremos un ejemplo como el visto en la parte 3 y luego con la misma base de datos realizaremos varios tipos o formas de grficos.