Вы находитесь на странице: 1из 38

Econometria I

Facultad de Ciencias Econmicas Universidad Nacional de La Plata

Introduccin a Stata

Material desarrollado por Luciano Di Gresia

Marzo de 2012

Facultad de Ciencias Econmicas Universidad Nacional de La Plata

Contenido Organizacin de la parte prctica del curso 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

Facultad de Ciencias Econmicas Universidad Nacional de La Plata

Organizacin de la parte prctica del curso

Los mircoles de 10:00 a 13:00 hs (Grupo 1) y de 18:00 a 21:00 hs (Grupo 2) desarrollaremos clases de consultas para la realizacin de los trabajos prcticos. Interactuaremos mediante la pgina web del curso www.econometria1.depeco.econo.unlp.edu.ar. Desarrollaremos cuatro trabajos prcticos grupalmente, que debern ser entregados en las fechas previstas. El software bsico a desarrollar en este curso es STATA versin 8.0 (o superior), el cual se cubrir en un nivel bsico.

Luciano Di Gresia Econometra 1 UNLP

Facultad de Ciencias Econmicas Universidad Nacional de La Plata

Los temas a desarrollar especficamente en STATA son: o Introduccin a la interface, sintaxis, comandos bsicos. o Archivos a usar en un proyecto: dataset, log, do. o Gestin de base de datos y tabulados. o Introduccin bsica a regresiones y grficos Las clases sern en el Laboratorio de Computacin (subsuelo).

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

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

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

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

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

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

10

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

11

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

12

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

13

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

14

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

15

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

16

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

17

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

18

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

19

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

20

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

21

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

22

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

23

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

24

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

25

Cmo creamos un archivo DO? Un archivo DO es de tipo texto plano o tambin llamado archivo ASCII . Tenemos dos alternativas: 1. Utilizar el editor de textos que tiene incluido Stata. 2. Utilizar un editor de textos externo.
1 1

Editor de textos incluido en Stata Para acceder a esta funcionalidad el comando es: doedit

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

26

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

27

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

28

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

29

-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

30

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

31

\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.

Luciano Di Gresia Econometra 1 UNLP

32

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 1 2 .. N Variable1 Dato 1,1 Dato 1,2 .. Dato 1,N Dato 2,N Variable2 Dato 2,1 Dato 2,2 Variable3 Dato 3,1 Dato 3,2 .. Dato 3,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

33

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 Byte Integer Long Float Double Tipos de nmeros Enteros Enteros Enteros Con decimales Con decimales Lmite inferior -127 -32.767 -2.147.483.647 -1.70 x 1038 -8.99 x 10307 Lmite superior +100 +32.740 +2.147.483.620 +1.70 x 1036 +8.99 x 10308

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

34

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

35

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

36

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

37

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

38

Вам также может понравиться