Este documento presenta una introducción al uso del software estadístico Stata. Explica la interfaz de Stata, su sintaxis basada en comandos, y ejemplos de comandos básicos como use, summarize, generate y replace. También cubre cómo aplicar comandos a subconjuntos de datos usando opciones como if, in, by y =. El objetivo es proporcionar una guía inicial para aprender a utilizar las funciones básicas de Stata.
Este documento presenta una introducción al uso del software estadístico Stata. Explica la interfaz de Stata, su sintaxis basada en comandos, y ejemplos de comandos básicos como use, summarize, generate y replace. También cubre cómo aplicar comandos a subconjuntos de datos usando opciones como if, in, by y =. El objetivo es proporcionar una guía inicial para aprender a utilizar las funciones básicas de Stata.
Este documento presenta una introducción al uso del software estadístico Stata. Explica la interfaz de Stata, su sintaxis basada en comandos, y ejemplos de comandos básicos como use, summarize, generate y replace. También cubre cómo aplicar comandos a subconjuntos de datos usando opciones como if, in, by y =. El objetivo es proporcionar una guía inicial para aprender a utilizar las funciones básicas de Stata.
Universidad Nacional de La Plata Introduccin a Stata Marzo de 2014 Material desarrollado por Luciano Di Gresia Facultad de Ciencias Econmicas Universidad Nacional de La Plata Contenido Introduccin a Stata o Interface o Sintaxis. o Comandos bsicos o Memoria o Abreviaturas Organizacin de un proyecto en archivos DO y LOG Gestin de base de datos (dataset) o Tipo de datos y conversin de tipos o Importacin y exportacin de datos Luciano Di Gresia Econometra 1 UNLP 2 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Introduccin a Stata STATA es un sistema que permite la gestin de base de datos y la realizacin de clculos estadsticos y economtricos. La gran ventaja de STATA es que se basa en un lenguaje de programacin que respeta una sintaxis. Quienes sepan principios de programacin podrn asimilar a STATA como un sistema de programacin de alto nivel con algunos aspectos similares a Pascal, C, o basic. Existen versiones de STATA para Windows, Linux y Macintosh. Las fuentes de informacin oficiales para aprender STATA (adems de este curso) son los manuales originales Para una primera aproximacin es suficiente con el Users Guide. Para usuarios ms avanzados se requieren los manuales detallados por comandos. Luciano Di Gresia Econometra 1 UNLP 3 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Introduccin a Stata Interface La interface de STATA comprende el entorno de trabajo. En una primera aproximacin se trabajar con la interface de ventanas, para ms adelante experimentar con la interface mediante archivos do y log. Las diferentes ventanas que conforman la interface son: Ventana Review: muestra el historial de comandos recientemente utilizados. Ventana Variables: expone las variables que comprenden el dataset actualmente en memoria. Ventana Stata Results: es la ventana ms grande color negro. Muestra los resultados obtenidos de la aplicacin de los comandos. Ventana Stata comand: en esta ventana el usuario introduce comandos mediante el teclado (contiene un prompt). Luciano Di Gresia Econometra 1 UNLP 4 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Introduccin a Stata Sintaxis y comandos bsicos STATA trabaja mediante la especificacin por parte del usuario de rdenes que se denominan comandos. Los comandos conforman un lenguaje de comunicacin con el programa, por lo que existe una determinada sintaxis que debe ser respetada. La sintaxis de comandos tiene la siguiente estructura general: [by varlist:] comando [varlist] [=exp] [if exp] [in range] [weight] [, opciones] Los corchetes indican elementos opcionales. Todos los elementos que acompaan a un comando son opciones, de hecho existen comandos que comprenden slo una palabra. Luciano Di Gresia Econometra 1 UNLP 5 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Ahora veremos diferentes ejemplos de comandos simples que usan distintas partes de la estructura de la sintaxis. Para esto utilizaremos un dataset de ejemplo denominado auto.dta (obtener del material de clases en el sitio web, y guardar en C:\clase1). Este dataset contiene datos de 74 automviles incluyendo variables como precio, peso, largo, marca, consumo, etc. El comando para cargar el dataset en la memoria de STATA es: use c:\clase1\auto.dta Requisitos: No debe haber un dataset previo en memoria. STATA no puede trabajar con datasets simultneos (despus veremos que esto no es un problema. Para asegurarse esto puede usarse use c:\clase1\auto.dta, clear Adicional: Puede usarse el comando como use auto.dta, para esto previamente habr que decirle a STATA en que carpeta se est trabajando. Esto se hace con el comando cd c:\clase1 (en STATA existen muchos de los comandos de D.O.S. como cd, cd.., dir, dir *.*) Luciano Di Gresia Econometra 1 UNLP 6 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Si la carga del dataset fue exitosa, veremos que las ventanas Review, Variables y Stata Results se modificaron. Sintaxis: comando sin opciones El comando summarize permite obtener una descripcin estadstica de todas las variables que componen el dataset. Se usa sin opciones: summarize Sintaxis: [varlist] El anterior comando puede usarse para obtener la descripcin estadstica de slo una variable summarize price Luciano Di Gresia Econometra 1 UNLP 7 Facultad de Ciencias Econmicas Universidad Nacional de La Plata de ms variables summarize price weight length de una lista de variables (en este caso todas las variables que estn entre price y trunk) summarize price-trunk de las variables que empiecen con la letra p (en este caso es slo price) summarize p* Todas estas maneras de indicar variables se denominan en la sintaxis como varlist Luciano Di Gresia Econometra 1 UNLP 8 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Sintaxis: [if exp] La aplicacin del comando puede restringirse a observaciones que cumplen con ciertas restricciones de alguna/s variable/s. Esto se realiza mediante la utilizacin del si condicional (if en ingls). Por ejemplo: summarize length if price > 6000 Esta expresin calcula la descripcin estadstica de la variable length de aquellos autos cuyo precio es superior a 6000. Para construir una sentencia condicional existen los siguientes componentes: Operadores de comparacin: == igual != no igual (similar a ~=) >, <, >=, <= los usuales mayor, menor, etc. Luciano Di Gresia Econometra 1 UNLP 9 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Operadores lgicos: & and | or ! not (similar a ~) Operador jerrquico: el parntesis que determina el orden de aplicacin de las sentencias condicionales. Algunos ejemplos ms complejos de sentencias condicionales son los siguientes: summarize length if (price > 6000) & (length < 180) summarize length if (price > 6000 & length < 180) | weight >3400 summarize length if price > 6000 & ( length < 180 | weight >3400 ) summarize length if !(price > 6000) & (length < 180 | weight >3400) Luciano Di Gresia Econometra 1 UNLP 10 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Sintaxis: [in range] Permite aplicar el comando a un rango de observaciones, de acuerdo al orden del dataset. Por ejemplo: summarize price in 1/10 Permite obtener la descripcin estadstica de las 10 primeras observaciones del dataset summarize price in 5/12 Aplica el comando a las observaciones entre la 5ta y la 12da. summarize price in -10/-1 Aplica el comando a las ltimas 10 observaciones (de la 65 a la 74). Luciano Di Gresia Econometra 1 UNLP 11 Facultad de Ciencias Econmicas Universidad Nacional de La Plata La aplicacin de [in range] depende del ordenamiento del dataset. Los comandos para ordenar un dataset son sort y gsort. sort price El comando sort permite ordenar slo de manera ascendente de acuerdo a la variable que se especifica. Tambin pueden especificarse ms variables que actan en el caso de valores iguales en la variable primero indicada. gsort price Ordena de manera descendente segn el precio del auto. gsort +price Ordena de manera ascendente segn el precio del auto. Luciano Di Gresia Econometra 1 UNLP 12 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Sintaxis: [= exp] Se utiliza generalmente con slo dos comandos: generate y replace. generate nueva = 0 Este comando permite crear una nueva variable en el dataset. Es requisito indicar los valores iniciales que va a tener la nueva variable en cada observacin. En este caso la variable se llama nueva y tiene valor 0 en todas las observaciones. Tambin puede crearse una variable nueva incindola con valores surgidos de una operacin algebraica basada en otras variables. Por ejemplo: generate price2 = price*2 Este comando crea la variable price2 igual a los valores de price multiplicados por 2 en cada observacin. Luciano Di Gresia Econometra 1 UNLP 13 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Para poder verificar los valores de Price y Price2 puede aplicarse el siguiente comando: list price price2 list p* Tambin puede crearse una variable con valores nulos. El valor nulo en STATA se indica con el smbolo . (un punto). Por ejemplo: generate nulo = . Otro comando que usa [=exp] es replace. Este comando permite reemplazar valores de una variable ya creada. Por ejemplo: replace price2 = 0 if price < 6000 Este comando reemplaz por un cero en price2 en aquellas observaciones que tenan price menor que 6000. Luciano Di Gresia Econometra 1 UNLP 14 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Sintaxis: [by varlist:] Permite aplicar el comando por grupos de observaciones definidos por los distintos valores de la variable indicada en varlist. Por ejemplo: sort foreign by foreign: summarize price Es requisito ordenar el dataset por la variable que se va a usar en el [by varlist:]. En este caso se obtuvo la descripcin estadstica para los autos domsticos e importados. Lo mismo se podra haber obtenido haciendo summarize price if foreign == 0 summarize price if foreign ==1 Pero debe notarse que este segundo mtodo es muy engorroso si la variable que agrupa los datos tiene ms de dos opciones. Luciano Di Gresia Econometra 1 UNLP 15 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Sintaxis: [, opciones] Existen comandos que aceptan opciones adicionales. stas son especificadas en la sintaxis luego de una coma. Por ejemplo: summarize price, detail De esta manera, el comando summarize ahora brinda una descripcin estadstica distinta que la normal. Sintaxis: [weight] Sirve para indicar una variable como ponderador de las observaciones. Esta parte de la sintaxis se ver en detalle cuando se utilicen datos de la Encuesta Permanente de Hogares (EPH) Luciano Di Gresia Econometra 1 UNLP 16 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Introduccin a Stata otros comandos bsicos Para tabular cantidades de observaciones segn distintos valores de una variable, tenemos el comando tabulate. Por ejemplo: tabulate foreign Permite conocer cuantas observaciones hay con los diferentes valores que tiene la variable foreign (Domestic Foreign) Este comando tabulate puede ser combinado con el summarize, de la siguiente manera: tabulate foreign, sumarize(price) De esta manera se obtiene la media, el desvo estndar y la frecuencia, segn los distintos valores de la variable foreign. Luciano Di Gresia Econometra 1 UNLP 17 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Tambin puede usarse tabulate con dos variables. tabulate foreign rep78 Permite conocer cuantas observaciones hay con las diferentes combinaciones de valores entre las variables foreign y rep78. Obviamente, cualquiera de estos comandos acepta la introduccin de condiciones lgicas, como por ejemplo: tabulate foreign rep78 if price > 6000 Luciano Di Gresia Econometra 1 UNLP 18 Facultad de Ciencias Econmicas Universidad Nacional de La Plata El comando tabstat es ms avanzado para obtener la descripcin estadstica de variables. El uso es el siguiente: tabstat price, statistics(mean) Obtenemos la media de la variable price Pero tambin podemos obtener muchos otros estadsticos descriptivos, como por ejemplo tabstat price, statistics(mean sum count max min range sd variance cv p10 median) y de ms de una variable tabstat price length weight, statistics(mean sum count max min range sd variance cv p10 median) Luciano Di Gresia Econometra 1 UNLP 19 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Introduccin a Stata: memoria STATA trabaja generalmente de una manera particular con los dataset. Todo el dataset es almacenado en la memoria RAM de la PC. Esto significa ventajas y desventajas: Ventajas: la ejecucin de comandos es muy rpida, dado que no se accede al disco rgido. Desventajas: el tamao de los datasets que pueden procesarse se encuentra limitado por la cantidad de memoria RAM de la PC. El comando para conocer el estado del uso de la memoria es memory Luciano Di Gresia Econometra 1 UNLP 20 Facultad de Ciencias Econmicas Universidad Nacional de La Plata STATA comienza un sesin con una determinada cantidad de memoria asignada. Este espacio puede no ser suficiente para procesar un determinado dataset. Para ampliar el espacio de memoria que usa STATA el comando es: set memory 50m Este comando asigna 50 mega bytes de memoria para el uso de STATA. Debe considerarse que la memoria que se le asigna a STATA se quita del sistema operativo, por lo que se harn ms lentas aquellas tareas que se ejecuten simultneamente (por ejemplo un editor de texto). La cantidad de memoria a asignar est limitada por la cantidad de RAM de la PC. Ms adelante se ver como optimizar el consumo de memoria por parte de STATA. Luciano Di Gresia Econometra 1 UNLP 21 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Abreviaturas Es interesante aclarar que todos los comandos y variables usados pueden ser abreviados. La regla es que la abreviatura puede realizarse siempre que no se confunda con otro comando. Existen algunas excepciones a esta regla: Los comandos destructivos no se abrevian: drop, clear Existe el comando describe que se abrevia con d, a pesar de confundirse con otros (es un comando muy utilizado). Ejemplo de abreviatura tab fore, sum(pri) Luciano Di Gresia Econometra 1 UNLP 22 Luciano Di Gresia Econometra 1 UNLP 23 Organizacin de un proyecto en archivos DO y LOG Hasta ahora la interaccin con Stata ha sido mediante el tipeo de comandos en la ventana Stata commands. A partir de ahora trabajaremos creando archivos de texto que contienen toda la secuencia de comandos que componen un proyecto. Esto es un archivo DO. Adicionalmente, los resultados de nuestro proyecto los almacenaremos en un archivo de texto llamado LOG. El sntesis, el conjunto de archivos que utilizaremos en un proyecto sern: Luciano Di Gresia Econometra 1 UNLP 24 Cmo creamos un archivo DO? Un archivo DO es de tipo texto plano o tambin llamado archivo ASCII 1 . 1 Tenemos dos alternativas: 1. Utilizar el editor de textos que tiene incluido Stata. 2. Utilizar un editor de textos externo. Editor de textos incluido en Stata Para acceder a esta funcionalidad el comando es: doedit
1 Abreviatura de American Standard Code for Information Interchange. Es un cdigo de 7 bits que sustituye las letras del alfabeto romano por cifras y otros caracteres informticos. Luciano Di Gresia Econometra 1 UNLP 25 De esta manera se abre una aplicacin similar al Notepad de Windows. Las funcionalidades ms relevantes comprenden (entre otras): El men File que permite gestionar los archivos de texto. El men Tools que permite ejecutar un archivo DO mediante la opcin Do Editor de textos externo Otra alternativa consiste en utilizar un editor de textos como los siguientes: Editplus: es un editor de tipo shareware (www.editplus.com), el archivo de instalacin y la sintaxis de STATA se puede obtener en el website del curso. Textpad: es un editor pago (www.textpad.com) En el sitio web del curso se encuentran los archivos, Luciano Di Gresia Econometra 1 UNLP 26 Ventajas y desventajas El editor de textos que incluye Stata tiene la ventaja de poder ejecutar los archivos DO. Los editores de texto externos facilitan la visualizacin del cdigo debido a que colorean las sentencias de programacin. Sugerencia Se sugiere utilizar la versin trial del editor de textos externo Edit Plus, debido a que se dispone de las ventajas del cdigo coloreado. Instrucciones para la instalacin del Edit plus Primero deben bajarse la sintaxis de STATA (el archivo stata.stx) que es lo que les permite diferenciar con colores las distintas funciones. Una vez abierto el edit plus, Tienen que ir a "Tools", despus "preferences", luego dentro de Files a "Settings y Sintaxis". Poner Add, en el nombre se pone Stata y en la file extension do;ado Despus en Syntax file s e pone la ruta donde guardaron el archivo stata.stx Por ejemplo. C:\Archivos de programa\EditPlus 2\stata.stx . Luego Apply y listo... Luciano Di Gresia Econometra 1 UNLP 27 Mi primer archivo DO Utilizando el dataset auto.dta escribiremos nuestro primer archivo DO mediante el editor de textos. Para ello realizamos las siguientes acciones: -Copiamos en c:\clase2 el archivo auto.dta. Esta ser nuestra carpeta de trabajo. -En Stata command ejecutamos cd c:\clase2, de esta manera Stata buscar archivos en esa carpeta. -En el Edit plus escribimos use auto.dta, clear describe summarize price exit Luciano Di Gresia Econometra 1 UNLP 28 -Guardamos el archivo con el nombre auto.do en la carpeta c:\clase2 -En Stata command ejecutamos do auto. Tambin puede realizarse a travez de file/do.. Si todo funcion bien, habremos ejecutado nuestro primer archivo DO y en la ventana Stata Result est el resultado de los comandos describe y summarize. Nota: pueden incorporarse comentarios dentro del archivo DO de la siguiente manera: /* Este es un comentario */ Tambin es un comentario una lnea iniciado con asterisco * Luciano Di Gresia Econometra 1 UNLP 29 Mi primer archivo LOG Los resultados que se registran en la ventana Stata result pueden ser almacenados en un archivo de texto de extensin .log El cdigo a agregar para obtener un archivo LOG es el siguiente: use auto.dta, clear capture log close log using auto.log, text replace describe summarize price log close exit Luciano Di Gresia Econometra 1 UNLP 30 \log using auto.log, text replace, hace que Stata registre los resultados en un archivo llamado auto.log de tipo texto (existen otros tipos de archivos que no usaremos). La opcin replace implica que en cada nueva corrida del programa los resultados se sobre-escriben. Existe la opcin append que permite grabar corridas sucesivas de un programa (uso poco frecuente). El comando log using resulta en un error si ya existe un LOG en uso. Por ello debemos cerrar cualquier otro LOG en uso con la opcin log close. El problema es que log close dar error si no existe un LOG en uso. Para solucionar esto usamos la palabra capture. Esto permite anular la detencin del programa ante un error. Al final del programa cerramos el LOG con log close Es importante mencionar que lo nico que se registra en el archivo LOG son los resultados de los comandos que se encuentran entre el log using y el siguiente log close. Facultad de Ciencias Econmicas Universidad Nacional de La Plata Gestin de base de datos (datasets) El contenedor de datos en Stata se denomina DATASET. Un dataset es una especie de tabla de doble entrada donde las columnas se denominan VARIABLES y las filas OBSERVACIONES. Observacin Variable1 Variable2 Variable3 1 Dato 1,1 Dato 1,2 .. Dato 1,N Dato 2,1 Dato 2,2 .. Dato 2,N Dato 3,1 Dato 3,2 .. Dato 3,N 2 .. N En cada celda se pueden guardar datos de diferentes tipos. El tipo de dato es el mismo para las observaciones de una misma variable Con el cdigo _N se puede obtener el total de observaciones de un dataset. Ejemplo: display _N Luciano Di Gresia Econometra 1 UNLP 31 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Tipos de datos Los tipos de datos que puede almacenar Stata son tres: (i) nmeros, (ii) palabras y (iii) fechas. Tipos de datos numricos Nombre Tipos de nmeros Lmite inferior Lmite superior Byte Enteros -127 +100 Integer Enteros -32.767 +32.740 Long Enteros -2.147.483.647 +2.147.483.620 Float Con decimales -1.70 x 10 38 +1.70 x 10 36 Double Con decimales -8.99 x 10 307 +8.99 x 10 308 Tipos de datos palabras Se pueden almacenar palabras con hasta un mximo de 80 caracteres Tipo de datos fechas Son nmeros con un formato especial de visualizacin. Luciano Di Gresia Econometra 1 UNLP 32 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Para conocer el tipo de datos de todas las variables que componen el dataset se utiliza: describe Si se quiere saber el tipo de dato de una variable especfica se utiliza: describe price Para crear una variable numrica especificando el tiadpo de dato que queremos, se utiliza: generate byte cantidad = 0
generate float descuento = 0
Luciano Di Gresia Econometra 1 UNLP 33 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Para crear una variable que contenga palabras se utiliza el siguiente comando: generate str8 pais = El lmite mximo es de 244 caracteres para la versin 9 Special Edition. Para la versin Intercooled es de 80 caracteres. En este caso, la variable de tipo string ampla la cantidad de caracteres de acuerdo a los datos que almacena. replace pais = Argentina Posible contenido de un string: Datos identificatorios: algunas variables de tipo string contienen identificadores para las observaciones. Esta informacin no puede ser utilizada directamente en el anlisis estadstico. Luciano Di Gresia Econometra 1 UNLP 34 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Importacin de datos Una manera sencilla (entre varias) de importar datos desde cualquier origen es la siguiente: Abrir el archivo mediante Excel (normalmente cualquier fuente de datos podr ser accedida por Excel). Guardar el archivo como texto delimitado por tabulaciones (.txt). Atencin que Excel indica una serie de advertencias respecto a las planillas con mltiples hojas, dado que slo la hoja activa se almacenar. Importar desde Stata utilizando el siguiente comando: insheet using dataset1.txt Recordar que previamente debemos haber realizado un clear. Luciano Di Gresia Econometra 1 UNLP 35 Facultad de Ciencias Econmicas Universidad Nacional de La Plata Exportacin del dataset El dataset que est en memoria en Stata puede ser exportado a un archivo de texto, el cual puede ser abierto por Excel. El comando para realizar esta tarea es el siguiente: outsheet using archivo, replace Luciano Di Gresia Econometra 1 UNLP 36