Sesión 4 Introducción a Stata III Juan D. Barón juandbaron@gmail.com Métodos Cuantitativos de Economía Regional y Urbana Universidad Autónoma de Occidente Versión: 11 de mayo de 2011 Copyright © 2011: La reproducción total o parcial de este material está prohibida Material provisional y sujeto a cambios 1. Corriendo múltiples comandos a la vez (archivos do) Hasta ahora…. • Se ha introducido Stata • Se han explicado y aprendido varios comandos y su sintaxis básica • Ejecutamos un comando a la vez, escribiéndolo en la ventana de comando • Pero, qué hacemos si… – Nuestro análisis es muy largo y cometemos un error (repetir todo) – Si queremos reproducir el análisis para una base de datos un poco diferente (repetir todo) – Si queremos decirle a un colega exactamente que fue lo que hicimos (adivinar) – Si debemos demostrarle a una revista cuál fue el procedimiento empleado y los resultados (resultados son reproducibles) • Necesitamos tener la capacidad de ejecutar múltiples comandos a la vez. Para ello utilizamos lo que se conoce como un “archivo do” o “do-file” 3 ¿Qué es un archivo *.do (do-file)? • Es un archivo de texto (se puede abrir con bloc de notas, wordpad, etc) • En lugar de la extensión “.txt”, tiene extensión “.do” • Contiene todos los comandos de Stata que desee (lo mismo que usted escribía en la ventana de comando) • Ejecutar un archivo do es exactamente lo mismo que ejecutar varios comandos interactivamente (como lo hemos venido haciendo) Los archivos do (do-files), NO son • Archivos de datos de Stata (los archivos de datos en Stata son extensión .dta) • Archivos de datos en formato de texto (éstos son .txt o .csv) • Los resultados que Stata genera en la ventana de output (estos se llaman archivos log, los veremos más adelante) 4 Crear archivos *.do (do-files) • En la barra de herramientas pueden abrir el editor de archivos do (no es más que un editor de texto) 5 ¿Cómo ejecutar los comandos en el do-file? Primera forma • De un click sobre el último botón de la barra de herramientas del editor de archivos do Notas: • Si al momento de dar click sobre el botón, hay texto seleccionado, Stata solo ejecutará toda la línea de los comandos seleccionados. De lo contrario, Stata ejecuta todos los comandos • Ejecutar los comandos en el archivo do también se conoce como “correr” el archivo • Se puede modificar y correr los archivos do todas las veces que sea necesario 6 ¿Cómo ejecutar los comandos en el do-file? Segunda forma Usando el comando “do” en la ventana de comando de Stata . do “C:/Taller UTB/miejemplo.do” Puntos a tener en cuenta: • Cuidado con el lugar (o nombre completo) del archivo do: En el ejemplo se está ejecutando el archivo do, llamado miejemplo.do, que está guardado en la carpeta “Taller UTB” • Si el nombre completo tiene espacios, las dobles comillas son obligatorias • El archivo do puede tener otra extensión (solo ajuste la extensión del archivo) • Esta forma de ejecutar el archivo es infalible: Podemos usar CUALQUIER editor de texto para modificar el archivo do y guardar los cambios 7 Otra ventaja de los archivos do: comentarios • En los do-files usted puede escribir comentarios que le ayuden a recordar que hace el archivo (o cualquier otro texto que desee) • Stata no ejecuta los comentarios • Dos tipos de comentarios: 1. Comentario de línea: si un asterisco “*” está al principio de la línea Stata no ejecutará esa línea. Ejemplo: * Mi primer comentario en Stata 2. Comentario de bloque: Stata no ejecutará las líneas que se encuentren entre “/*” y “*/”. Ejemplo: /* Este es mi primer comentario en Stata y este es el segundo */ 8 Recomendación para todos los archivos do Se recomienda que se utilice el siguiente formato para todos sus archivos do (ajustar lo que se deba ajustar) **************************************************************** * Descripción: Plantilla para archivos do del Taller en UTB * * Creado: 11mayo2011 (8:00am) - JuanBarón * Modificado: 11mayo2011 (9:36pm) - JuanBarón **************************************************************** version 10.1 clear all set more off set memory 100m * Creando un log de la sesión capture: log close log using "C:\Taller UTB\Resultados.txt", text replace * Aquí irán sus comandos log close exit 9 En otras palabras sus do-files deben verse así: 10 Pero… ¿Qué es todo esto? • Líneas 1 a 6: Comentario que describe lo que contiene el archivo, su fecha de creación, de modificación y el autor (Recuerde: toda línea que comienza con asterisco no es ejecutada) • version 10.1: Le dice a Stata que se comporte como en esa versión (¡No puede poner versiones futuras de Stata!) • clear all : Borra TODO lo que esté en memoria • set more off: Evita que Stata se detenga cuando la ventana de output se llena (y se deba dar click en la barra espaciadora, tedioso) • set memory 100m: Asigna 100 megas a la memoria de Stata. Si la base de datos que se quiere usar es más grande se puede aumentar (en Windows max 1000m si el PC tiene esa capacidad) • exit: Este comando le dice a Stata que el archivo do terminó (no quiere decir que Stata se va a cerrar) 11 Archivos log: guardando la ventana de output • • En clases pasadas alguien preguntaba cómo se podía guardar todo lo que Stata mostraba en la ventana de output La respuesta es: usando el comando comando “log”: . log using “c:\Taller UTB\LogSesion1.txt”, text replace • Una vez el comando ya produjo todo lo que se quería, el archivo log se cierra con: . log close Notas: • El primer comando crea un archivo de texto en su disco duro llamado “LogSesion1.txt” que se puede abrir con cualquier editor de texto • Dirección de donde se guarda o quedará en el directorio de trabajo • Incluir la extensión del archivo a crear como .txt • CUIDADO: No usar el nombre de un archivo txt que ya exista • Usar la opción “text” del comando log (para que guarde como texto) 12 Volviendo al archivo do recomendado, teníamos las líneas: * Creando un log de la sesión capture: log close log using "C:\TallerUTB\Resultados.txt", text replace • El prefijo “capture” le dice a Stata, no continue así se encuentre un error en el comando. La primera vez que se corre el archivo do, Stata se quejará porque se está tratando de cerrar un archivo log que no existe (para evitar eso usamos capture antes de “log close”) • ¿Por qué poner “log close” antes de “log using”? Si hay un error en los comandos y el do-file no termina de ejecutar, el log no se cerrará y Stata generará errores • El segundo comando crea el archivo log llamado Resultados.txt como formato de texto en la carpeta “Taller UTB” en el disco duro • Cada vez que se corre el archivo do, el archivo Resultados.txt se sobreescribe 13 Resumen de archivos • Archivo de datos en formato Stata: su extensión es “.dta”. Se carga en Stata usando el comando “use” • Archivo con comandos de Stata: en general tiene extensión “.do”. Para abrir o para crearlos se usa el editor de archivos do a través de la barra de herramientas de Stata. También se pueden abrir y modificar con otros editores de texto • Archivo log (ventana de resultados/output): si se sigue lo recomendado, siempre tendrá extensión “.txt”. Se puede abrir con cualquier editor de texto (ej. Bloc de notas). Contiene comandos de Stata seguidos de los resultados que genere cada comando 14 2. Importando datos de Excel y archivos de texto A grandes rasgos lo que se hace es: 1. Organizar la base de datos con algunas especificaciones en Excel 2. Genera un archivo de texto delimitado por tabulaciones desde Excel 3. Se lee este archivo de texto con los datos usando el comando “insheet” Datos en excel Datos en formato de texto (delimitado por tabulaciones) Extensión: *.txt Comando insheet STATA (“save” para crear base de datos en formato de Stata) Extensión *.dta 16 Pasos detallados: 1. En una hoja de excel poner la información en un rectángulo empezando desde la celda A1 – No debe haber, líneas ni columnas vacías, ni sombras, ni colores, ni formatos de número, ni gráficos, etc. Particularmente, no debe haber separador de miles en los números – Las variables deben tener nombres de máximo 8 caracteres, sin caracteres raros ni espacios y no deben empezar con número – Si hay números decimales, éstos deben estar en formato de inglés, es decir, los decimales deben denotarse por punto (si no sabe cómo vea el archivo StataHablaIngles.pdf en la página) 2. Desde excel de “Guardar Como” y en la pestaña de opciones elija la opción: “Texto (delimitado por tabulaciones) (*.txt)” Asegúrese de saber donde lo está guardando 3. En Stata (interactivamente o en un archivo do), use el comando: . insheet using “c:\Taller UTB\datos.txt” , tab clear 17 Ejemplo: Suponga que tengo la siguiente información en Excel y quiero llevarla a Stata. El archivo se llama DatosEjemplo.xls. Todos los archivos de este ejercicio los tengo en: “D:\Taller UTB” 18 En una hoja diferente, o en otro archivo, le quito todos los formatos, espacios de los nombres y lo dejo como un rectángulo empezando en la celda A1 19 Lo guardo como formato de texto (delimitado por tabulaciones). Se le puede poner un nombre diferente al de la base de datos de Excel, pero yo en general lo dejo con el mismo nombre (la extensión es diferente): DatosEjemplo.txt 20 En la ventana de comando de Stata, podemos simplemente digitar: . insheet using "D:\Taller UTB\DatosEjemplo.txt", tab clear 21 22 Pero como ya aprendimos a usar los archivos do, una mejor forma sería tener un do-file de la siguiente manera (LecturaExcel.do): **************************************************************** * Descripción: Lectura de datos de excel (ejemplo) * * Input: DatosEjemplo.txt * Output: DatosEjemplo.dta , LogLectura.txt * * Creado: 11mayo2011 (1146am) - JuanBarón * Modificado: 11mayo2011 (12:35pm) - JuanBarón **************************************************************** version 10.1 clear all set more off set memory 100m * Creando un log de la sesión capture: log close log using "D:\Taller UTB\LogLectura.txt", text replace * Leyendo los datos insheet using "D:\Taller UTB\DatosEjemplo.txt", tab clear describe list * Guardando los datos en formato de Stata save "D:\Taller UTB\DatosEjemplo”, replace log close exit 23 24 Después de correr el archivo LecturaExcel.do estos son los archivos con los que quedo en mi directorio. Sin abrirlos, ¿Sabe qué contiene cada uno de ellos? 25 Resumen De estas diapositivas usted debe tener un entendimiento de cómo en Stata se pueden escribir programas (archivos do), cómo importar datos de una hoja de Excel o un archivo de texto y cómo crear un archivo de texto que guarda todo lo que sale en la ventana de output de Stata • Archivos do o do-files • Archivos log (resultados de la ventana de comando) • Lectura de datos en archivos de texto • Comandos introducidos: – version – “Log using” y “log close” – Prefijo “capture” – insheet – set more off – set memory 26