Sesión 2 Introducción a Stata I Juan D. Barón juandbaron@gmail.com Métodos Cuantitativos en Economía Regional y Urbana Universidad Autónoma de Occidente 25 de abril de 2011 Versión : 1.2 Copyright © 2011: La reproducción total o parcial de este material está prohibida Material provisional y sujeto a cambios Comandos anteriores aparecen aquí Folder (directorio) actual aparece aquí Lista de variables aquí Comandos se escriben aquí Status del log aparece aquí Resultados se muestran aquí Status del log de comandos 2 aparece aquí Barra de herramientas • • • • • • • • • • • • Open: Abrir una base de datos en formato de Stata Save: Guardar datos en memoria en formato de Stata al disco duro Print Results: Imprimir la ventana de resultados Log: Empezar, suspender, continuar un archivo log Viewer: Abrir el viewer (ayudas) Graph: Traer una gráfica al frente de todas las ventanas Do-file editor: Abrir el editor de “do-files” (archivos de extensión .do) Data editor (Edit): Abrir el editor de datos Data Editor (Browse): Editor de datos en modo de visor de datos Variables Manager: Abrir el administrador de variables (características) Clear----more--- Condition: Continuar cuando Stata hace una pausa Break: Detener la ejecución de una tarea en Stata. 3 1. Lo básico • Temas de computación, simples pero importantes • Comandos de Stata que interactúan con el sistema operativo (pwd, cd, sysdir, mkdir, dir, erase, copy, type) • IMPORTANTE – Cuando usted crea un archivo llamado miarchivo.xyz – miarchivo.xyz NO es el nombre del archivo, es una abreviatura – El nombre completo es algo así como c:\juan\miarchivo.xyz (dependiendo de el lugar donde se encuentre el archivo) 5 1.1 Directorios para organizar su trabajo ¿En que folder está cuando inicia Stata? Para saber use: . pwd Directorio oficial de Stata: . sysdir Guarde los archivos del curso en c:\utbpublica\sesion01 Cambiar a directorio raíz: . cd c:\ Cree nuevo folder: . mkdir utbpublica Cambie al nuevo directorio: . cd utbpublica Cree el folder de sesión 1: . mkdir sesion01 Otros comandos Listar archivos en folder actual: Borrar un archivo en folder actual: Mirar el contenido de un archivo: . dir . erase miarchivo.xyz . type mydata.raw 6 1.2 Nombres de archivo en Stata • En muchas instancias se debe especificar el nombre de un archivo • Cuando se usa la abreviatura, miarchivo.xyz, Stata asume que se encuentra en el folder actual • Equivalentes: . use miarchivo.xyz . use c:\utbpublica\sesion01\miarchivo.xyz • Si no se incluye la extensión, Stata asume que el archivo tiene extensión .dta (base de datos tipo Stata) IMPORTANTE: Espacios en nombres de archivos Si un nombre de archivo (eso incluye la dirección) tiene espacios, se deben usar dobles comillas al principio y al final del nombre . use “c:\Mis Documentos\utbpublica\sesion01\miarchivo.xyz” 7 1.3 Cargar base de datos de carros • Stata trae bases de datos para usar de ejemplos y probar el comportamiento de comandos rápidamente • La más conocida es la que se conoce con la abreviatura auto.dta • Se encuentra en el directorio oficial de Stata (use pwd para ver dónde está ese directorio) • Un atajo para cargar esta base de datos (sin cambiar al directorio de sistema) es: . sysuse auto, clear • La opción clear hace que si ya hay una base de datos en memoria, Stata la descarte y cargue la base de datos auto. Si no se especifica esta opción, saldrá un error si hay una base de datos en memoria 8 2. Lo básico de Stata • Stata: administración de datos, análisis estadístico, gráficos • Stata ofrece interfaces para reproducir cualquier comando, pero es básicamente manejado por comandos de texto • Si escribe en la línea de comando (no digite el punto): . summarize mpg • Stata responde con: Variable | Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------mpg | 74 21.2973 5.785503 12 41 • La regla en Stata: Digite poco, obtenga poco • IMPORTANTE | En Stata los datos se cargan a la memoria y se trabaja con ellos. No se cambia la base de datos original hasta que se graba (save) 10 Usando bases de datos tipo Stata • Para cargar una base de datos en formato Stata, use el comando . use archivo O, . use archivo, clear Si usa la primera opción y hay una base de datos en memoria verá: . use archivo no; data in memory would be lost r(4); • Para grabar los datos que están en memoria use: . save miarchivo Si el archivo ya existe en el folder, el comando anterior no grabará el archivo y dará un error. Para sobrescribir la base de datos use la opción replace. Así: . save miarchivo, replace 11 2.1 Como Stata entiende los datos • El concepto de datos en Stata es el de una tabla • Columnas son las variables • Filas son las observaciones • Para referirse a una celda específica se usarán dos notaciones: mpg[6] mpg in 6 . display mpg[6] 18 Variables make price mpg weight 1 AMC 4099 22 2930 2 AMC Pacer 4749 17 3350 3 AMC Spirit 3799 22 2640 4 Buick Century 4816 20 3250 5 Buick Electra 7827 15 4080 6 Buick LeSabre 5788 18 3670 7 Buick Opel 4453 26 2230 8 Buick Regal 5189 20 3280 9 Buick 10372 16 3880 10 Buick Skylark 4082 19 3400 Obs 12 La base de datos se puede resumir con el comando describe Contains data from C:\Archivos de programa\Stata10\ado\base/a/auto.dta obs: 74 1978 Automobile Data vars: 12 13 Apr 2007 17:45 size: 3,478 (99.9% of memory free) (_dta has notes) -------------------------------------------------------------------------storage display value variable name type format label variable label -------------------------------------------------------------------------make str18 %-18s Make and Model price int %8.0gc Price mpg int %8.0g Mileage (mpg) rep78 int %8.0g Repair Record 1978 headroom float %6.1f Headroom (in.) trunk int %8.0g Trunk space (cu. ft.) weight int %8.0gc Weight (lbs.) length int %8.0g Length (in.) turn int %8.0g Turn Circle (ft.) displacement int %8.0g Displacement (cu. in.) gear_ratio float %6.2f Gear Ratio foreign byte %8.0g origin Car type --------------------------------------------------------------------------Sorted by: foreign 13 Los datos se pueden listar con el comando list . list price mpg weight +---------------------------------------+ | make price mpg weight | |---------------------------------------| 1. | AMC Concord 4,099 22 2,930 | 2. | AMC Pacer 4,749 17 3,350 | 3. | AMC Spirit 3,799 22 2,640 | 4. | Buick Century 4,816 20 3,250 | 5. | Buick Electra 7,827 15 4,080 | |---------------------------------------| 6. | Buick LeSabre 5,788 18 3,670 | 7. | Buick Opel 4,453 26 2,230 | 8. | Buick Regal 5,189 20 3,280 | 9. | Buick Riviera 10,372 16 3,880 | 10. | Buick Skylark 4,082 19 3,400 | <Output omitido> 14 Estadísticas básicas se pueden obtener con el comando summarize . summarize Variable | Obs Mean Std. Dev. Min Max -------------+-------------------------------------------------------make | 0 price | 74 6165.257 2949.496 3291 15906 mpg | 74 21.2973 5.785503 12 41 rep78 | 69 3.405797 .9899323 1 5 headroom | 74 2.993243 .8459948 1.5 5 -------------+-------------------------------------------------------trunk | 74 13.75676 4.277404 5 23 weight | 74 3019.459 777.1936 1760 4840 length | 74 187.9324 22.26634 142 233 turn | 74 39.64865 4.399354 31 51 displacement | 74 197.2973 91.83722 79 425 -------------+-------------------------------------------------------gear_ratio | 74 3.014865 .4562871 2.19 3.89 foreign | 74 .2972973 .4601885 0 1 15 Se pueden dejar solo las variables price mpg y weight en la base de datos con el comando keep . keep make price mpg weight . describe Contains data from C:\Archivos de programa\Stata10\ado\base/a/auto.dta obs: 74 1978 Automobile Data vars: 4 13 Apr 2007 17:45 size: 2,072 (99.9% of memory free) (_dta has notes) --------------------------------------------------------------------------storage display value variable name type format label variable label --------------------------------------------------------------------------make str18 %-18s Make and Model price int %8.0gc Price mpg int %8.0g Mileage (mpg) weight int %8.0gc Weight (lbs.) --------------------------------------------------------------------------Sorted by: Note: dataset has changed since last saved 16 Se pueden dejar solo algunas observaciones y descartar las demás usando el comando keep . keep in 1/10 (64 observations deleted) . list 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. +---------------------------------------+ | make price mpg weight | |---------------------------------------| | AMC Concord 4,099 22 2,930 | | AMC Pacer 4,749 17 3,350 | | AMC Spirit 3,799 22 2,640 | | Buick Century 4,816 20 3,250 | | Buick Electra 7,827 15 4,080 | |---------------------------------------| | Buick LeSabre 5,788 18 3,670 | | Buick Opel 4,453 26 2,230 | | Buick Regal 5,189 20 3,280 | | Buick Riviera 10,372 16 3,880 | | Buick Skylark 4,082 19 3,400 | +---------------------------------------+ 17 Podemos cambiar la información. Podemos ordenarla por una variable usando el comando sort . sort mpg . list 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. +---------------------------------------+ | make price mpg weight | |---------------------------------------| | Buick Electra 7,827 15 4,080 | | Buick Riviera 10,372 16 3,880 | | AMC Pacer 4,749 17 3,350 | | Buick LeSabre 5,788 18 3,670 | | Buick Skylark 4,082 19 3,400 | |---------------------------------------| | Buick Regal 5,189 20 3,280 | | Buick Century 4,816 20 3,250 | | AMC Spirit 3,799 22 2,640 | | AMC Concord 4,099 22 2,930 | | Buick Opel 4,453 26 2,230 | +---------------------------------------+ 18 Podemos descartar variables usando el comando drop . drop price . list 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. +------------------------------+ | make mpg weight | |------------------------------| | Buick Electra 15 4,080 | | Buick Riviera 16 3,880 | | AMC Pacer 17 3,350 | | Buick LeSabre 18 3,670 | | Buick Skylark 19 3,400 | |------------------------------| | Buick Regal 20 3,280 | | Buick Century 20 3,250 | | AMC Concord 22 2,930 | | AMC Spirit 22 2,640 | | Buick Opel 26 2,230 | +------------------------------+ 19 Podemos borrar observaciones con el comando drop in . drop in 3/4 (2 observations deleted) . list 1. 2. 3. 4. 5. 6. 7. 8. +------------------------------+ | make mpg weight | |------------------------------| | Buick Electra 15 4,080 | | Buick Riviera 16 3,880 | | Buick Skylark 19 3,400 | | Buick Regal 20 3,280 | | Buick Century 20 3,250 | |------------------------------| | AMC Concord 22 2,930 | | AMC Spirit 22 2,640 | | Buick Opel 26 2,230 | +------------------------------+ 20 También, podemos borrar observaciones con el comando drop if . drop if mpg<20 (3 observations deleted) . list 1. 2. 3. 4. 5. +------------------------------+ | make mpg weight | |------------------------------| | Buick Regal 20 3,280 | | Buick Century 20 3,250 | | AMC Concord 22 2,930 | | AMC Spirit 22 2,640 | | Buick Opel 26 2,230 | +------------------------------+ 21 Podemos crear nuevas variables con el comando generate . generate m_per_lb = mpg/weight . list 1. 2. 3. 4. 5. +-----------------------------------------+ | make mpg weight m_per_lb | |-----------------------------------------| | Buick Regal 20 3,280 .0060976 | | Buick Century 20 3,250 .0061538 | | AMC Concord 22 2,930 .0075085 | | AMC Spirit 22 2,640 .0083333 | | Buick Opel 26 2,230 .0116592 | +-----------------------------------------+ 22 2.2 Sintaxis de los comandos de Stata Los comandos en Stata se clasifican en dos categorías: 1. Comandos que reportan cosas sobre los datos (describe, list, sum) 2. Comandos que cambian los datos (use, drop, generate, …) . comando variables if exp in range [, opciones] comando: Lo que debe hacer Stata (summarize, list, save, etc) variables: Las variables a usar. variables es opcional en algunos comandos. En esos aplica a todas las variables. Ej.: list mpg price Ej.: list if exp: Si no se especifica significa que el comando se ejecuta para todas las observaciones. Ej.: list mpg weight if mpg>20 Ej.: list if mpg==20 in range: Hace lo mismo que if exp pero especifica la restricción en términos de los números de observación. Ej.: list mpg weight in 1/10 Ej.: list mpg weight if mpg>20 in 1/10 23 Ejemplos de sintaxis Comando de resumen de una variables (summarize) . summarize price Comando de resumen de una variable con más detalle (summarize) . summarize price, detail Comando de regresión lineal sin constante (regress) . regress price mpg weight, nocon Comando de regresión lineal (regress) . regress price mpg weight Comando de nube de puntos (scatter) . scatter mpg weight 24 ¿Cuales son las opciones de un comando y su sintaxis específica? . help summarize 25 2.3 Comandos que todo usuario deberían saber Categoría Comandos de Stata Obtener ayuda en línea search, findit, help Interface del sistema operativo pwd, cd, sysdir, mkdir, dir, erase, copy, type Usando y salvando datos del disco use, save, append, merge, compress Importando datos a Stata input, edit, infile, infix, insheet Internet y actualizaciones de Stata update, net, ado, news Reportes básicos de datos describe, codebook, list, browse, count, inspect, summarize, table, tabulate Manipulación de datos generate, replace, egen, rename, drop, keep, sort, encode, decode, order, by, reshape Formatos format, label Keeping track of your work log, notes Convenientes display Para la ayuda digite, help y el comando deseado: . help comando 26 2.4 Trabajando interactivamente • !Organicese¡ En su computador (i) cree una nueva carpeta llamada utbpublica, (ii) abra Stata, (iii) Cambie a ese directorio (cd). En mi caso: . cd “D:\Datos\My Dropbox\UTBPublica” • Una vez hizo esto (i) use el comando dir para ver que hay en ese directorio, (ii) use el comando pwd para ver en donde se encuentra . dir <dir> 6/03/03 15:21 . <dir> 6/03/03 15:21 .. . pwd D:\Datos\My Dropbox\UTBPublica • Guarde notas con sus bases de datos (comando note) . note: Primer ejemplo de notas en clase UTBPublica . notes . save auto, replace 27 3. Buscando ayuda El Viewer de Stata se puede: • • • • • • Ver contenidos de ayuda (comando help) Buscar documentación (comando search) Buscar material de ayuda en línea (comando search) Encontrar e instalar programas escritos por otros usuarios Instalar actualizaciones de Stata (comado update query) Ver las últimas noticias de www.stata.com 29 . update query . help summarize . search violin, all . . sysuse auto, clear violin price weight trunk Resumen Hasta aquí usted debe ser capaz de: • Averiguar en que directorio está • Cambiar del directorio actual a cualquier otro directorio en su disco • Entender las implicaciones de trabajar en un directorio • Organizar futuros análisis (manteniendo fólderes diferentes para diferentes proyectos) • Cargar y grabar datos (en formato de Stata .dta) • Usar la lista de comandos que los usuarios de STATA deberían saber • Usar help , search y update para encontrar información y documentación • Listar parte o todos sus datos • Crear y leer notas adjuntas a su base de datos 36