Stata introducción

15
Introducción al STATA: Creación y manejo de información estadística La pantalla de inicio de STATA muestra cuatro grandes ventanas: Review: donde aparecen los comandos empleados según el orden de ejecución. Variables: muestra la lista de variables cargada en la memoria según el orden de creación. Stata Results: presenta los comandos, resultados y mensajes de error. Stata Command: ventana en la que se ingresan los comandos. Otras ventanas importantes son: Stata Editor: permite navegar y modificar los datos como si fuese una hoja de Excel. Stata Viewer: permite acceder a información en línea y también a la ayuda del programa. Stata Graphs: presenta el último gráfico realizado. Stata Do-file Editor: ventana separada en Windows y funciona como un editor de textos que permite ejecutar una lista de comandos. Los comandos pueden ser directamente utilizados desde la barra de menú desplegable (Grafical User Interface), pueden ser tipeados en la barra de comandos o, para uso más avanzado, puede agruparse una serie de comandos en un do file.

Transcript of Stata introducción

Page 1: Stata introducción

Introducción al STATA: Creación y manejo de información estadística

La pantalla de inicio de STATA muestra cuatro grandes ventanas:

Review: donde aparecen los comandos empleados según el orden de ejecución. Variables: muestra la lista de variables cargada en la memoria según el orden de creación. Stata Results: presenta los comandos, resultados y mensajes de error. Stata Command: ventana en la que se ingresan los comandos.

Otras ventanas importantes son:

Stata Editor: permite navegar y modificar los datos como si fuese una hoja de Excel.

Stata Viewer: permite acceder a información en línea y también a la ayuda del programa.

Stata Graphs: presenta el último gráfico realizado.

Stata Do-file Editor: ventana separada en Windows y funciona como un editor de textos que

permite ejecutar una lista de comandos.

Los comandos pueden ser directamente utilizados desde la barra de menú desplegable

(Grafical User Interface), pueden ser tipeados en la barra de comandos o, para uso más

avanzado, puede agruparse una serie de comandos en un do file.

Page 2: Stata introducción

Un do file es un archivo que guarda extensión .do, el cual sirve para guardar un programa de

comandos de STATA. Para iniciar uno se puede llegar desde la barra de menú desplegable

de la siguiente manera:

Asimismo, se puede utilizar el ícono asociado a un nuevo do file .

Los log files…

Estos archivos de extensión por default .log, son muy útiles al momento de recoger los

resultados y pasarlos a formato Excel o Latex. Cuando el STATA muestra sus resultados, si no

se le ha especificado otra cosa, el programa los muestra solo en pantalla. Este comando

permite que todo lo que se muestre en la ventana de resultados se guarde en un archivo

que luego puede ser fácilmente exportado y trabajado.

Para obtener ayuda específica de algún comando o tema se pueden utilizar el comando

help, search, findit y hsearch.

El comando help permite buscar sintaxis, opciones y ejemplos de comandos o tipos de

comandos que tiene el STATA. Así, para que este comando sea de utilidad tiene que

conocerse el nombre del comando del cual se requiere la ayuda! Su sintaxis se presenta a

continuación:

help [command_or_topic_name] [, nonew name(viewername) marker(markername)]

El comando search no requiere conocer el nombre del comando pues realiza una búsqueda

por palabra clave. Si además utilizamos net search, el STATA buscará los paquetes

disponibles de comandos para STATA en la web. Algo similar ocurre con el comando findit,

el cual provee la búsqueda más amplia posible y no necesita de la escritura de las palabras

exactas pues permite abreviaciones.

search word [word ...] [, search_options]

Page 3: Stata introducción

findit word [word ...]

Finalmente, el commando hsearch es utilizado para conocer si STATA contiene

determinadas palabras en su ventana de ayuda (si lo contiene dentro del manual de ayuda

que propone para cada comando). Asimismo, genera una lista interactiva, a modo de indice.

hsearch word(s)

Datos útiles para el trabajo con STATA

Símbolos del STATA:

+ Adición > Mayor que

- Sustracción < Menor que

* Multiplicación >= Mayor o igual que

/ División <= Menor o igual que

^ Potencia == Igual que

~ Negación (!) != No igual que

& Y | ó

- Dentro de un do file, se puede correr una o más líneas del programa sombreando alguna parte

de la línea o grupo de líneas y presionando Ctrl + D.

- El STATA distingue entre mayúsculas y minúsculas y puede aceptar en nombres de variables

hasta 32 caracteres, pudiendo estos ser A-Z, a-z, 0-9, “_”. Sin embargo, algunos nombres para

variables se encuentran reservados como “in”.

- El nombre del comando se puede abreviar hasta la mínima expresión que no permita que el

STATA lo confunda con otro comando. Lo mismo sucede cuando se llama a una variable.

Asimismo, se puede utilizar el “*” para reemplazar letras o números o buscar más fácilmente

variables que difieran en solo algunas letras.

- Para realizar operaciones matemáticas rápidas podemos utilizar el comando display y escribir

luego de él la operación necesaria. El resultado aparecerá en la línea siguiente de la pantalla.

- Si un comando ya se ha digitado antes en la barra de comandos, no hay necesidad de digitarlo

nuevamente pues se puede hacer clic en el comando correspondiente en la ventana Review de

Comandos.

- Además Stata presenta una barra de herramientas que permite realizar operaciones comunes

como abrir un archivo, grabarlo, imprimir o ver alguna ventana en particular.

Page 4: Stata introducción

Sirve para abrir una base de datos de Stata.

Sirve para grabar en el disco la base de datos que está siendo usada.

Imprime los gráficos o el contenido de la ventana Stata Viewer.

Empieza un log, abre una existente, cierra o suspende la que se esté usando.

Muestra una ventana Stata Viewer que esté oculta.

Muestra el último gráfico creado.

Abre un Do-File Editor o muestra la ventana del Do-File Editor que esté oculta (equivale a ctrl+8).

Abre el Stata Editor o muestra la ventana del Stata Editor que esté oculta (equivale a edit).

Abre el Stata Browser o muestra la ventana del Stata Browser que esté oculta (equivale a browse).

Le dice al Stata que continúe la ejecución de un comando que ha sido detenido.

Detiene el Stata (equivale a la tecla q).

- STATA tiene 6 tipos de variables de datos:

float números reales en formato 8,5 (8 cifras enteras, cinco decimales) double números reales en formato 16,5 byte enteros entre –127 y 100 int enteros entre –32767 y 32740 long enteros entre –3147483647 y 2147483620

- STATA por defecto le asigna formato float a una variable de datos nueva.

str1 cadenas de 1 carácter str80 cadenas de 80 caracteres

Sintaxis básica: [by varlist:] command [varlist] [=exp] [if exp] [in range] [weight]

Page 5: Stata introducción

Operadores:

Aritméticos Lógicos De relaciones

* Multiplicación ~ No >= Mayor o igual

/ División | O <= Menor o igual

^ Potencia & Y == Igual

~= No igual

1. Crear y guardar bases de datos clear: Se usa para limpiar la memoria de los datos que se encuentren actualmente cargados,

inclusive cuando no se hayan guardado

set mem: fija el tamaño de la memoria (para abrir bases grandes) set mem 16m

edit: permite introducir datos y modificar información ya existente a través del editor. edit [varlist] [if exp] [in range] [,nolabel]

describe: muestra un resumen del contenido de la base de datos describe [varlist]

save: guarda una base de datos save "c:\mis documentos\base1.dta", replace

2. Cargado de datos, listado de variables y observaciones

use: abre una base de datos ya existente Ejemplo: use "c:\mis documentos\base1.dta", clear

insheet: permite cargar bases de datos de hojas de cálculo (y ASCII (texto) creados por programas de datos). El usuario le puede especificar al STATA si es que los valores en la base de datos se encuentran separados por espacios, tabulaciones o comas. Asimismo, se debe tomar en cuenta que el STATA asumirá que en la primera línea de la hoja de cálculo se encuentran los nombres de las variables. Su sintáxis es: insheet [varlist] using filename [, options] Existe una variante de este comando que permite guardar la base de datos de STATA en format de hoja de cálculo, conocida como outsheet.

sort: ordena las observaciones de manera ascendente según los valores de una(s) determinada(s) variable(s). Gsort es un comando más general que el sort. sort varlist gsort [+|-] varname [[+|-] varname ...] [,generate (newvar)]

format: permite especificar el formato de visualización (display format) de una variable

format varlist %fmt donde %fmt = %9.0g, %9.2f, %10s

Page 6: Stata introducción

list: permite visualizar los valores de las variables

[by varlist:] list [varlist] [if exp] [in range] [, nolabel] codebook: examina cada variable indicando el tipo de variable, el número de observaciones, el

rango numérico en que se encuentran dichas observaciones (si corresponde), algunos estadísticos descriptivos como la media, la desviación estándar, los percentiles o ejemplo de la variables si esta es string.

browse: permite visualizar los valores de las variables a través del editor browse [varlist] [if exp] [in range] [,nolabel]

3. Creación de variables y su manejo generate: crea una nueva variable

generate [type] newvar = exp [if exp] [in range]

Principales funciones matemáticas: abs(x) - valor absoluto exp(x) - exponencial ln(x) - logaritmo natural log(x) - igual que ln(x) sqrt(x) - raíz cuadrada Números aleatorios: uniform() Genera números aleatorios distribuidos uniformemente entre [0,1] normden(z) Genera el valor de la densidad normal estándar. normden(z,s) Genera el valor de la función de densidad normal normden(z,s)= normden(z)/s si s>0 norm(z) Genera el valor de la función normal estándar acumulada

egen: extensión del comando generate. Puede generar grupos de variables según los valores

de otra variable (usando la opción by). egen newvar = fcn (varlist) [if exp] [in range] [,options]

donde fcn = (r)sum, (r)mean, (r)max, (r)min Opciones: by (varlist) label: permite etiquetar las variables y sus valores

label variable varname "label" (etiqueta una variable) label define lblname # "label" [# "label" ...] [, add modify] (define etiquetas para los valores de una variable) label values varname lblname(asigna etiquetas a los valores de una variable) label list (lista las etiquetas existentes)

replace: cambia el contenido de una variable existente

replace oldvar = exp [if exp] [in range]

Page 7: Stata introducción

rename: cambia el nombre de una variable existente rename old_varname new_varname

recode: permite recodificar los valores de una variable existente

recode varname rule [rule ...] [if exp] [in range] drop: elimina variables u observaciones de la base de datos

drop varlist drop if exp [in range] keep: especifica las variables u observaciones que se desean mantener

keep varlist keep if exp [in range]

clear: borra todo lo que está en la memoria (es equivalente a reiniciar Stata)

4. Generación de resultados a partir de una base de datos summarize: devuelve diversos estadísticos sobre una variable

[by varlist:] summarize [varlist] [weight] [if exp] [in range] tabulate: genera frecuencias de una sola variable y tablas cruzadas de dos variables

[by varlist:] tabulate varname [weight] [if exp] [in range] [, nolabel] [by varlist:] tabulate varname1 varname2 [weight] [if exp] [in range] [, column row nofreq] Opciones: col: muestra los totales por columna row: muestra los totales por fila nofreq: se usa con col o row. Muestra los porcentajes respecto del total. Permite generar variables dicotómicas:

tab varname, g(dummyname) table: genera tablas de estadísticas

table rowvar [colvar [supercolvar]] [weight] [if exp] [in range] [, contents(clist) by (superrow_varlist) col row format(%fmt) center] donde clist = freq, [sum, mean, varname, sd, max, min] varname .

ttest: hace un test de igualdad de las medias de una o más variables.

- Si la media es igual a un valor determinado ttest varname = # [if exp] [in range] [, level(#)] - Si las medias de dos variabnles son iguales ttest varname1 = varname2 [if exp] [in range] - Si las medias de una misma variable son distintas según grupos de observaciones ttest varname [if exp] [in range], by(groupvar) [level(#)] Opciones: level: especifica la probabilidad de para calcular el intervalo de confianza.

correlate: devuelve la matriz de correlaciones de las variables especificadas correlate [varlist] [if exp] [in range]

Page 8: Stata introducción

pwcorr [varlist] [if exp] [in range]

collapse: convierte la información en una base de datos de medias, sumas y medianas collapse [(stat) varlist [[(stat)] …] [weight] [if exp] [in range] [, by(varlist)] donde stat = mean, sum, median, sd, max, min

5. Análisis gráfico

graph: opcion para graficos más complejos

[by varlist:] graph [varlist] [weight] [if exp][in range]graph_type common_options sa] Tipos de gráfico: twoway Gráfico de dispersión en dos direcciones, por defecto. histogram Histograma. Opciones: bin(#) especifica el número de intervalos; normal: ajusta una distribución normal. Opciones comunes: c(l) Conecta con línea los valores graficados c(m) Conecta las bandas de medias usando lineas verticales s(.) Especifica que no se use conectores. sa(name) Guarda el gráfico con un nombre determinado t1title("text") Título principal del gráfico b1title("text") Título del eje x b2title("text") Título del eje y xscale(#[,]#) Escala del eje x yscale(#[,]#) Escala del eje y

kdensity: Calcula la función de densidad de Kernel (no paramétrica) de una variable

kdensity varname [weight] [if exp] [in range] [, nograph generate(newvarx newvard) n(#) at(varx) normal] Opciones: at(varx) Utiliza los valores de una variable determinada para estimar la densidad.

6. Indicadores de pobreza y desigualdad poverty: calcula una serie de indicadores de pobreza basados en la distribución de una

determinada variable (ingreso) poverty varname [if exp] [in range] [fweight] [, line(#) gen(newvarname) all] Opciones: line(#): permite establecer el valor de la línea de pobreza all: calcula y reporta todos los estadísticos de pobreza, tales como:

- Tasa de pobreza - Brecha de pobreza agregada (valor) - Tasa de brecha de pobreza

- Los índices de Foster, Greer and Thorbecke con parámetros 0.5, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, y 5 lorenz: grafica la curva de Lorenz de una variable

lorenz varname [if exp] [in range] [fweight]

Page 9: Stata introducción

inequal: calcula indicadores de desigualdad de una variable específica inequal varname [if exp] [in range] [fweight] Permite obtener: Coeficiente de variación: desviación estándar entre la media Desviación estándar de los logaritmos Indice de Gini

xtile: genera un numero determinado de cuantiles a partir de los valores de una variable. También pude generar cuantiles a partir de los puntos de corte dados por los valores de otra variable. Solo acepta fweights xtile newvar= exp [weight] [if exp] [in range][, nquantiles(#) | cutpoints(varname)]

Opciones: nq (#): Especifica el número de cuantiles cut(varname): genera una variable con los valores de los puntos de corte.

EJEMPLO DE SESIÓN EN STATA 10 Abrir una base de datos Para abrir una base de datos desde el menú principal, seguimos la siguiente ruta: File/Open. En el cuadro de diálogo que aparece a continuación se elige el archivo deseado, que en este caso tiene la extensión de los archivos de datos naturales de Stata, “dta”. Como ejemplo de sesión abriremos el archivo Table F7.1.dta: Este archivo contiene una base de datos para aerolíneas de los EEUU: 90 observaciones de 6 firmas para 15 años, desde 1970 hasta 1984. i = Aerolínea t = Año q = Producto, índice de beneficios por milla-pasajero c = Costo total en miles de US$ pf = Precio del combustible lf = Ratio de ocupación de las aeronaves Nota 3: Nótese que al ejecutar los comandos mediante estos menús se registran automáticamente estos en la ventana Stata Review el comando equivalente para la ventana Stata Command. Esta característica es muy útil cuando se aprende Stata porque es posible ejecutar un comando mediante la GUI y luego repetirlo empleando comandos. Una vez cargado en la memoria el archivo Table F7.1.dta, mediante el menú Stata, éste ha incorporado en la ventana de resultados los comandos equivalentes que se hubiesen tenido

Page 10: Stata introducción

que poner en Stata Command para obtener el mismo resultado. Los comandos se han almacenado en la ventana Review del mismo modo que sucedería si hubiésemos digitado los comandos en dicha ventana. Si bien trabajar con la barra de herramientas y con los menús desplegables es más intuitivo, para el usuario es más rápido y eficiente trabajar directamente con los comandos (lo cual le permite emplear los archivos de ejecución y la programación avanzada). Inspección de los datos. Para ver una descripción rápida de los datos ingresamos el comando describe. Para copiar a MSWord lo que acaba de aparecer en la ventana de resultados seleccionamos dicho resultado y lo copiamos como texto o como tabla. . describe

Contains data from C:\Cursos\Indecopi2007\Sesion Panel Estatico\Table f7.1.dta

obs: 90 Source: William Greene:

Econometric Analyisis, Fifth

Edition.

vars: 6 1 Mar 2007 16:58

size: 1,980 (99.9% of memory free)

-------------------------------------------------------------------------------

storage display value

variable name type format label variable label

-------------------------------------------------------------------------------

i byte %8.0g Airline

t byte %8.0g Year

c long %12.0g Total cost, in $1000

q float %9.0g Output, in revenue passenger

miles, index number

pf long %12.0g Fuel price

lf float %9.0g Load factor, the average

capacity utilization of the

fleet

. des

Contains data from C:\Cursos\Indecopi2007\Sesion Panel Estatico\Table f7.1.dta

obs: 90 Source: William Greene:

Econometric Analyisis, Fifth

Edition.

vars: 6 1 Mar 2007 16:58

size: 1,980 (99.9% of memory free)

-------------------------------------------------------------------------------

storage display value

variable name type format label variable label

-------------------------------------------------------------------------------

i byte %8.0g Airline

t byte %8.0g Year

c long %12.0g Total cost, in $1000

q float %9.0g Output, in revenue passenger

miles, index number

pf long %12.0g Fuel price

lf float %9.0g Load factor, the average

capacity utilization of the

fleet

. ds i t c q pf lf Nota 4: Nótese que es posible en algunos casos redactar el comando incompleto para ejecutar la misma función, así: “describe” es equivalente a “des”. Sin embargo ejecutar el comando “ds” realiza una descripción de las variables utilizadas muy limitada.

Page 11: Stata introducción

Tipos de variables Stata permite manejar hasta 6 tipos de variables de datos importantes:

float números reales en formato 8,5 (8 cifras enteras, cinco decimales)

double números reales en formato 16,5

byte enteros entre –127 y 100

int enteros entre –32767 y 32740

long enteros entre –3147483647 y 2147483620 Stata por defecto le asigna formato float a una variable de datos nueva. Asimismo, Intercooled Stata8.0 en adelante soporta cadenas de hasta 80 caracteres de largo.

str1 cadenas de 1 carácter

str240 cadenas de 240 caracteres Para ver los datos tal como si los viésemos en MSExcel digitamos “browse” y aparece la ventana “Stata Editor”. . browser . br

Para editar los datos escribimos edit o pulsamos el botón correspondiente: . edit

Page 12: Stata introducción

Nota 5: Cuando las ventanas Browser y/o Edit se encuentran abiertas es imposible ingresar comandos, puesto que la barra Stata Command se deshabilita. Generación básica de gráficos. Para crear gráficos seguimos un procedimiento similar. Desde el menú principal: Graphics/Easy graphs/Scatter plot, y en el cuadro de diálogo, con el cursor en la casilla X variable pulsamos q y en la casilla Y variable pulsamos c. Luego de pulsar el botón OK. . twoway scatter c q

Manipulación básica de variables. El modelo microeconómico original es:

No obstante, es posible obtener la versión lineal de la misma función mediante la aplicación del logaritmo. De manera que el modelo que estimaremos es el siguiente:

Ahora bien, se requiere de calcular los logaritmos neperianos tanto del costo como del producto y el del precio del combustible. Para ello, desde el menú principal, utilizamos la siguiente ruta: Data/Create or change variables/Create new variable y aparece un cuadro de diálogo en el cual debemos ingresar el nombre de la variable y su regla de creación. En esta casilla “Generate variable” escribimos “lnc”, pulsamos el botón “Create”, elegimos “mathematical”, luego elegimos el logaritmo neperiano con doble click, luego vamos a la ventana variables y pulsamos la variable c y finalmente pulsamos el botón OK en los dos cuadros de diálogo. Al final de este proceso vemos que ha aparecido una nueva variable (lnc) y que el comando empleado en su creación ha aparecido en la ventana de “Results” y en la ventana “Review”.

conslfpfq eepfqclf _

_ln( ) ln( ) ln( )q pf lf consc q pf lf

Page 13: Stata introducción

generate float lnc = ln(c) gen float lnc = ln(c) gen lnc = ln(c)

Nota 6: Obsérvese que por defecto a la nueva variable se le ha asignado el tipo “float”. Nota 7: En Stata los comandos deben ir siempre en minúsculas. Además, para los nombres de las variables Stata tomará en cuenta si empleamos minúsculas o mayúsculas, no son la misma variable Modelo, modelo, MODELO, ni por ejemplo moDelO. Nota 8: Para reejecutar los comandos pulsamos el comando en la ventana Review o lo escogemos con las teclas avanzar página y/o retroceder página. Para crear las otras dos variables no es necesario repetir el tedioso proceso, basta pulsar el comando que acaba de aparecer en la ventana Review para que aparezca en la ventana de comandos tal como nos indica la nota anterior y editar del siguiente modo: generate float lnq= ln(q) generate float lnpf= ln(pf) Creación de variables

generate newvar=ejm: crea una variable nueva

Page 14: Stata introducción

replace oldvar=ejm: reemplaza una variable (Stata no sobrescribe variables, este comando no se puede abreviar)

drop: borra una variable o un registro.

Keep: borra las variables no nombradas o los registros no nombrados. Nota 9: los caracteres válidos son dígitos (0-9), caracteres (a-z y A-Z) y el guión bajo (_). Nota 10: Stata recomienda que las variables comiencen con mayúsculas (para evitar confusiones con los comandos que siempre van en minúsculas) Guardar una base de datos. Stata emplea la extensión dta para los archivos de bases de datos. Para grabar se pulsa el botón que tiene el icono de un disco o desde el menú principal: File/ Save o File /Save as…. Grabaremos la base de datos con un nuevo nombre: greene1.dta. Nota 11: Stata no guarda en el disco los cambios en las bases de datos a menos que ejecutemos el comando save (en eso se parece a MSExcel), por lo que si se apaga o si se cuelga la máquina perderemos los cambios. Nota 12: En Stata hay compatibilidad hacia adelante, es decir, los comandos y bases de datos de Stata9 sirven en Stata10 ( y Stata11), pero lo inverso no siempre es posible. Por ello, si trabajamos con una base de datos en Stata10 y luego la vamos a abrir en Stata7 deberemos grabarla con formato compatible. USO DEL MENU AYUDA DE STATA Comando help Este es uno de los comandos más importantes de Stata, pues presenta la sintaxis de los comandos así como ejemplos de cómo se usan. Para pedirle ayuda a Stata sobre un comando se escribe en la ventana de comandos help (o hel o he o h) seguido del nombre del comando que queramos conocer. Abramos el archivo auto.dta y luego escribamos: . help summarize Observemos que el comando y su sintaxis obligatoria están en negritas, mientras que en azul se reserva para los hipervínculos. En el nombre del comando se observa que las primeras letras están subrayadas, lo que indica que podemos en lugar de escribir el comando como summarize podemos escribir sum (o cualquier forma intermedia). Notemos que todo lo que va entre corchetes es optativo y que en la sintaxis de los comandos primero se ponen las variables, luego el ponderador, los condicionales (if) preceden a los rangos (in) y les siguen las opciones después de un coma:

[varlist] es la lista de variables.

[weight] son los pesos o ponderaciones.

[if exp] permite seleccionar la muestra donde exp es una expresión lógica.

Page 15: Stata introducción

[in range] permite seleccionar la muestra donde range es un rango de los datos. ARCHIVOS DE INSTRUCCIONES (DO-FILES) En lugar de escribir los comandos en la ventana correspondiente una manera más práctica de hacerlo es crear un archivo con una lista de instrucciones que se ejecutarán en conjunto desde allí. Puede crearse mediante la ventana Do-file Editor o desde cualquier editor de textos, siempre y cuando le asignemos la extensión do. La ventaja de emplear la ventana Do-file Editor es que podemos ejecutar en forma parcial el archivo. Recordemos que para abrir la ventana del Do-file Editor pulsamos el botón correspondiente o las teclas {ctrl+8} o desde el menú principal: Windows/Do-file Editor. OPERADORES EN STATA Conectores relacionales < menor que <= menor o igual que == igual a > mayor que >= mayor o igual que != diferente a (puede usarse ~=) () paréntesis para indicar el orden de evaluación Conectores lógicos & y ( & se evalúa antes que el | ) | o ! no es el caso (puede usarse ~ ) Operadores aritméticos + suma - resta * multiplicación / división ^ potencia + concatenación de cadenas alfanuméricas