Introducción al Stata 9 Economía de la salud 2008 (Clases Prácticas) Agradezco las transparencias 7,8,17 y 20 cedidas por Juan R Garcia (BBVA) Madrid, Noviembre del 2007 Aspectos Generales 1
Descripción: Stata es un programa estadístico disponible para aplicaciones en Windows 2000 y XP. Hay versiones para Macintosh y Unix. Está diseñado para el análisis descriptivo de datos y la implementación de diferentes técnicas de estimación. Stata distingue entre mayúsculas y minúscula de forma que las variables var1 y Var1 son distintas. Ventajas: 1. Fácil de usar. 2. Rapidez y homogeneidad de comandos en plataformas. 3. Portabilidad de los datos entre plataformas. 4. Gran uso en investigación. 2
Versiones: Stata/SE: capacidad para 32,766 variables; la cantidad de observaciones está limitada por la memoria del ordenador; las variables de texto tienen un máximo de 244 caracteres. Intercooled Stata: Versión Profesional; más rápida; máximo de 2,047 variables; las observaciones están limitadas por la memoria del ordenador Small Stata: Versión para ordenadores pequeños. Máximo de 99 variables y 1000 observaciones. Extensiones comunes de los ficheros:.dta: ficheros de datos en formato Stata..raw: ficheros de datos ASCII/Text..log: output de STATA..do: fichero de comandos..gph: Stata Graphic File..ado: Stata Macro files. 3
Empezando la sesión: 1. Seleccionar el programa del menú de inicio de Windows ó hacer doble clic en un archivo Stata data File (.dta) 2. La pantalla de inicio de Stata es la siguiente: Organización: Hay cuatro ventanas: Ventana Stata command: Se introducen los comandos Ventana Review: presenta los comandos escritos con anterioridad Ventana Stata Results: muestra los resultados derivados de dichos comandos. Ventana de Variables: Muestra los nombres de las variables que se están utilizando en la base de datos En la esquina inferior izquierda aparece la información sobre el directorio donde está trabajando actualmente. 4
La barra de herramientas: El directorio de trabajo El directorio que por defecto utiliza Stata es: C:\data Para saber en que directorio estamos : cd Para cambiar el directorio : cd C:\CursoStata\ Crear un directorio nuevo : mkdir C:\CursoStata\ 5
Abrir y guardar archivos stata.dta Abrir un fichero de datos use filename.dta [, clear] use filename use C:\DATA\filename.dta Guardar un fichero de datos save filename save filename.dta [, replace] save C:\DATA\filename.dta Uso de memoria Por defecto, la memoria con la que trabajamos es de 1024K. Si la base de datos que vamos a manejar es muy grande, podemos incrementar los recursos de memoria con el comando set memory. set memory 20000 o set memory 20m Cualquiera de los dos comandos establece 20 mb de memoria 6
Comando de ayuda Mediante la instrucción help comando se obtiene la ayuda referente al comando que hemos escrito después de help. Comando de ayuda 7
Extensiones comunes de los ficheros: Archivos.log y archivos.do Los ficheros Log para reproducir Rdos. El fichero.log es un archivo de salida, en el que se almacenarán los resultados. El comando log using salidas [, append replace ] abre un fichero llamado salidas.log donde se almacenarán los resultados. El comando log close cierra el fichero de salida que hemos abierto. 8
Los ficheros Log para reproducir Rdos. Los ficheros.do. Hay dos modos de trabajar en Stata: 1. Escribiendo instrucciones en la línea de comandos y viendo el resultado por pantalla sin guardarlo. 2. Mediante ficheros.do. Esta es la forma óptima de trabajar. 9
Los ficheros.do. Un fichero.do es un fichero de texto ASCII que contiene un conjunto de comandos e instrucciones de Stata que serán ejecutados con el comando do seguido del nombre del fichero. Podemos crear un fichero.do con el editor de Stata o con cualquier editor de texto. Los ficheros.do. 10
Los ficheros.do. Gestión de datos 11
Importar archivos a stata: infile - insheet Los comandos que permiten leer datos en formato ASCII son: 1. Infile: lectura sin formato o con formato de ficheros ASCII 2. Infix: lectura con el format de un diccionario 3. Insheet: lee datos desde un archivo auxiliar de formato fijo. La lectura se puede hacer a través de un diccionario. Importar archivos a stata: Insheet Insheet: lectura de datos en formato texto (ASCII). Los. datos pueden estar separados por tabs o comas pero no ambos al mismo tiempo. No pueden estar separados por espacios insheet using InsheetExample.raw 12
Importar archivos a stata: Insheet. Importar archivos a stata: infile Infile: lectura sin formato o con formato de ficheros ASCII. Fixed Format: Los datos deben estar en formato fijo por columna. Se utiliza un diccionario para importar los datos. infix id 1-2 a1 3-4 t1 5-6 gender 7 a2 8-9 t2 10-11 tgender 12-14 using InfixExample.txt 13
Importar archivos a stata: infile Fixed Format. Listado de comandos útiles: cd dir or ls insheet infile infix input describe compress save use clear memory set memory Cambiar el directorio Muestra los archivos existentes en el directorio Lee ASCII (text) data con formato Lee ASCII (text) data sin formato Lee ASCII (text) data in fixed format Enter data a mano Describe los contenidos de los datos en la memoria virtual Comprime los datos - utilizar eficientemente el espacio Guarda el archivo use Abre un archivo en formato.dta Borra toda la base Reporta la memoria que está siendo usada Setea la cantidad de memoria virtual a ser utilizada 14
Manejo de datos La base de datos 15
Describir la base: describe [varlist] [, short detail] Describir las variables: codebook [varlist] 16
Describir las variables: inspect [varlist] Formatos Resumen: Variables de texto (String( String) Las variables con formato texto son guardadas como str#. Ej str1, str2,..str244. El número indica la longitud de la vble string. Es decir que str5 puede contener male pero no female ya que esta última tiene 6 caracteres. Variables Numéricas Las variables numericas se guardan como byte, int, long, float, or double El default es float. Byte, int and long son para valores enteros. 17
Formatos Resumen: Variables Numéricas Pueden contener: un signo NEGATIVO (-100), un punto decimal (1.1) notación exponencial (1.1e+2) No pueden contener comas Missing se representan con. y representan el mayor valor positivo de una variable Formatos: transformar vbles string en numéricas y viceversa Encode: Crea una nueva variable transformando el formato texto en numérico. Decode: Crea una nueva variable transformando el formato numérico en texto. Sintaxis: encode varname [if] [in], generate(newvar) [label(name) noextend] Otros comandos: Destring: Convierte vbles de texto en numéricas Totstring: Viceversa destring/ totsting [varlist], {generate(newvarlist) replace} [destring_options] 18
Etiquetas-Labels label data : etiqueta la base de datos que está en la memoria (máx 80 caracteres).etiquetas-labels label variable: Etiqueta las variable. label define: Asocia los valores de la variable a un texto determinado. Para que los guarde asociados hay que utilizar label values. label values: asocia y guarda el texto asociado a los valores definidos en label define. label drop: elimina las etiquetas. Etiquetas-Labels label dir: lista el nombre de las variables que tienen etiqueta label list: lista los nombres de las variables el valor que tienen y el texto asociado Etiquetas-Labels Etiquetas-Labels Label data Etiquetas-Labels 19
Comandos Que modifican la base de datos: gen, egen, replace, drop, recode,etc Que describen los datos pero nos los modifican: des, tab, sum, list, graphs, etc. Sintaxis del lenguaje Los comandos de stata siguen una sintaxis común. El cuadro siguiente muestra como escribir los comandos. 20
Sintaxis del lenguaje: Ejemplos Sintaxis del lenguaje: by. 21
Sintaxis del lenguaje: Varlist. myvar myvar thisvar thatvar myvar* *var my*var my~var my?var myvar1-myvar6 Una variable: myvar Tres variables Todas las variables que empiezan con myvar Todas las variables que terminan con myvar variables que empiezan con my y terminan con var Una variable que comienza con my y culmina con var Una variable que comienza con my y culmina con var con un carácter en medio myvar1, myvar2,..., myvar6 (probably) Análisis descriptivo: comandos count [by varlist:] count [if exp] [in range] ///////Número de obs // No permite varlist summarize [by varlist:] summarize [varlist] [weight] [if exp] [in range] [, detail ] 22
Análisis descriptivo: tabulate Tablas de frecuencias (absolutas y relativas) y medidas de asociación entre celdas Tablas de una entrada: [by varlist:] tabulate varname [weight] [if exp] [in range] [, generate(varname) missing nofreq nolabel ] Análisis descriptivo: tabulate Tablas de doble entrada: [by varlist:] tabulate var1 var2 [weight] [if exp] [in range] [, cell column missing nofreq nolabel row ] 23
Análisis descriptivo: tabulate Tablas 3 dimensiones: instalarlo Análisis descriptivo: tabulate Tablas 3 dimensiones: 24
Análisis descriptivo: table Tabla de estadísticos descriptivos Table: [by varlist:] table rowvar [colvar [supercolvar]] [if exp] [in range] [weight] [,contents(estad. varname...) by(superrow_varlist) row col missing ] Análisis descriptivo: table Tabla de estadísticos descriptivos 25
Manipulación de datos: Manipulación de datos: 26
Gráficos Gráficos: Se puede utilizar la orden graph o la barra de herramientas graphics graph twoway connected var1 var2, saving(grafico1,replace) graph twoway scatter var1 var2 var3, saving(grafico2,replace) graph twoway line var1 var2 if va3==1 graph pie var3 var5 Ver opciones gráficos en el menú de ayuda 27
Estimación Mínimos Cuadrados Ordinarios (MCO) Comando: regress (nombre variable dependiente) ( nombre variables independientes), opciones Se puede combinar con by y con if regress var1 var2 var3, robust regress var1 var2 var3, robust if salud==1 bysort año: regress var1 var2 var3, robust Matriz de Var y Covarianzas de los estimadores: vce Predecir: Predict 28
Variables instrumentales Comando: ivreg (nombre variable dependiente) ( nombre variables independientes), opciones Variable dependiente ivreg var1 (var2 var3=instr1 instr2) Variable Independiente Variable a instrumentar Instrumentos Regresiones sucesivas Nombres a listas de variables. global regresores var2 var3 var4 regress var1 $regresores local regresores var2 var3 var4 regress var1 $regresores 29