Está en la página 1de 36

Econometria I

Facultad de Ciencias Econmicas


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

También podría gustarte