Vous êtes sur la page 1sur 73

Manual Bsico de STATA

MANEJO BASICO DE STATA 9.0 Notas de Clase

Preparado Por: Wilson Mayorga Mogolln

Diciembre 2006

Wilson Mayorga Mogolln

Manual Bsico de STATA

MANEJO BASICO DE STATA 9.0


PARTE I: MANEJO DE DATOS
1. Introduccin 2. Administracin de Datos

PARTE II: OPERACIONES Y COMANDOS


3. Funciones y Expresiones 4. Resumiendo Datos 5. Anlisis Grfico 6. Operaciones Estadsticas 7. Elementos del Lenguaje 8. Series de Tiempo

ANEXOS
A1. Programas y Condicionales A2. Matrices en STATA A3. Diseo de Ventanas y Botones

Wilson Mayorga Mogolln

Manual Bsico de STATA

PARTE I. INTRODUCCION Y MANEJO DE DATOS 1. INTRODUCCION Stata es un paquete estadstico aplicado a problemas donde los datos son muestras de individuos, empresas, hogares, etc; a diferencia de otros programas ms conocidos por los economistas, donde el inters principal es el estudio de datos de series de tiempo. Los principales usuarios de Stata provienen de reas mdicas(anlisis de datos categricos y longitudinales, anlisis de supervivencia, epidemiologa, etc) y recientemente, dado el uso de este tipo de modelos en el rea econmica, se ha popularizado el uso de este programa entre los economistas. El diseo de ventanas del programa, permite que sea posible utilizar en ocasiones la interfase grfica o el Mouse para realizar algunas operaciones, sin embargo, en casos complejos, debe escribirse la sintaxis correcta de comandos. Este requerimiento hace que Stata se defina como un lenguaje de programacin. Las nuevas versiones, posteriores a la versin 8.0 difiere de las versiones previas en que permite realizar todas las operaciones estadsticas mediante mens interactivos, con lo cual el conocimiento exacto de la sintaxis deja de tener cierta relevancia. La pantalla de inicio de Stata es:

Grfica 1. Pantalla de Inicio STATA

En ocasiones la pantalla ser negra, para cambiarla de color se puede tomar la siguiente ruta: Prefs-General Preferences y all se utiliza el color que ms se adecue al gusto del usuario. En general, este men PREFS, modifica las opciones de presentacin del Programa, y es posible guardar de manera permanente las preferencias del respectivo usuario.

Wilson Mayorga Mogolln

Manual Bsico de STATA

Los otros mens disponibles son: File: Abre, Guarda e Imprime los diferentes tipos de archivos disponibles en Stata. Edit: Copia y pega tablas de datos Data: Permite realizar operaciones entre tablas de datos y matrices Graphics: Es el listado completo de todas las operaciones grficas que permite realizar Stata. Statistics: Es el men principal. Contiene el listado de todas las operaciones estadsticas posibles de realizar en Stata 9.0. Window: Activa y desactiva las diferentes ventanas en que se distribuye el programa. Puede funcionar usando la tecla CTRL + un nmero que va de 1 hasta 8 segn la ventana que se desea operar o desplazando utilizando el Mouse.

Las ventanas disponibles en Stata son: CTRL + 1 CTRL + 2 CTRL + 3 CTRL + 4 CTRL + 5 CTRL + 6 CTRL + 7 CTRL + 8 Results : Aqu aparecen los resultados del uso de comandos y los mensajes de error, cuando hubieren. Graph : Interfase donde aparecen los grficos diseados en el programa. Viewer: Es como una forma de ingresar a la bsqueda de ayuda de comandos. Command : En esta ventana se escriben los comandos que se deseen operar en Stata. Review : En esta ventana aparece un listado de los comandos escritos por el usuario. Variables : Aqu presenta el listado de variables con las que actualmente se est operando(pertenecen a un archivo de trabajo). Data Editor: Es la hoja de ingreso de datos de forma manual. Do File: Es la hoja de ingreso de comandos a un archivo tipo *.do.

Siguiendo en la barra de herramientas de izquierda a derecha observamos nuevas teclas, que explicamos a continuacin:

Permite abrir un log, esto es un archivo tipo texto (con extensin) .log) en donde se pueden ir guardando las salidas que aparecen en el Stata Results.

Un editor de do, que es donde se pueden realizar macros (detalles ms adelante).

Son el editor y el browser, el primero permite realizar modificaciones en la base de datos, el segundo slo observar los datos.

Wilson Mayorga Mogolln

Manual Bsico de STATA

El break, es una interrupcin al programa a la funcin que est realizando. CONDICIONES INICIALES

Debe tenerse en cuenta que Stata es un programa Sensible a las maysculas, es decir, para el programa un comando con maysculas es diferente a uno en minsculas. Todo se debe escribir en minsculas. Adems, en casi todos los casos, Stata funciona con slo escribir las tres primeras letras del comando respectivo. Al escribir cada comando en Stata, aparecer en pantalla Result el mensaje o resultado de respuesta del comando. clear Con este comando se borran los resultados y operaciones que de manera temporal se encuentran grabados en el programa set memory Permite aumentar la memoria que utiliza el programa dentro las posibilidades del equipo, por defecto Stata inicia su sesin con 5 Megabytes, por tanto si se requiere trabajar con ms de esa capacidad (como para abrir una gran base de datos), por ejemplo con 10 Megas, se debe escribir: set memory 10m o tambin set memory 10000. Un tercer comando, que evita que las salidas sean cortadas por el tamao vertical de la pantalla es: set more off RECIBIENDO AYUDA DE STATA

Si bien la presentacin del men HELP de Stata no es tan amigable como la de otros programas, el usuario cuenta con amplias posibilidades de informacin que le sern de muchsima utilidad. HELP-CONTENTS : Presenta a manera de tabla de contenido, el listado de comandos disponibles en Stata. Dando click en alguno de ellos, se puede ingresar a una descripcin del comando y algunos ejemplos de su uso. HELP-STATA COMMAND: Ingresando el comando que genera dudas, se tiene una referencia de su uso y explicacin. HELP-SEARCH: Esta opcin puede ser til cuando se conoce el tema pero no el comando que podra usarse. Por ejemplo. SEARCH: logistic Regression. Tambin dentro del men de Help se encuentran otras opciones de ayuda On line. Igualmente en la pgina www.stata.com se encuentran documentos y Stata Bulletin los cuales pueden ser de mucha utilidad para el usuario.

Wilson Mayorga Mogolln

Manual Bsico de STATA

Escribiendo en la ventana de comandos la palabra HELP seguido del comando que se desea aplicar, genera como salida una explicacin del significado, propiedades y descripcin completa del procedimiento Help logistic SINTAXIS BASICA DE LOS COMANDOS

La ejecucin de una orden esta compuesta en general por tres partes: la primera, todo comando inicia con una o dos palabras clave (table, save, use, etc.); a continuacin el usuario tiene que suministrar ciertos parmetros, y por ultimo algunos procedimientos tienen ciertas opciones suministradas por el software. Existen tres maneras de operar comandos en STATA: Utilizando el mouse y buscando la operacin deseada dentro del men Graphics, Data o Statistics. Escribiendo comando por comando en la ventana correspondiente y obteniendo el resultado en cada paso, dando Enter. Editando un archivo *.do, el cual es un archivo de texto, donde se escribe un conjunto de comandos. Al operar este archivo, se realizarn simultneamente las operaciones all definidas.

Con algunas pocas excepciones, la sintaxis bsica de un comando en Stata es: [by variable indicadora:] comando [lista de variables] [= expresin] [if expresin] [in rango] [weight] [, opciones especficas] Donde entre brackets [] se presentan aquellas cosas que pueden ser opcionales al comando. Las palabras en ingls son de alguna manera fijas. Lista de variables: Se refiere al nombre de la variable a la que se aplicar el comando. En caso que no aparezca se aplicar a todo el conjunto de datos. Los componentes opcionales son: By lista de variables: Indica que el comando se repetir para cada subconjunto de datos para los cuales los valores de la variable indicadora definida sean iguales. Para que funcione, los datos deben ser primero ordenados por la variable indicadora.

Ejemplo: Suponga que se tiene una variable llamada sexo, donde 1 es hombre y cero mujer. En ese caso es posible aplicar un comando que genere resultados para los hombres y para las mujeres as: By sexo: comando [lista de variables]

Wilson Mayorga Mogolln

Manual Bsico de STATA

If Expresin: Esta opcin restringe el comando a aquellas observaciones para los cuales la expresin condicional es verdadera.

Por ejemplo, si slo se desea generar un resultado para los hombres, se tendra el siguiente comando: Comando [lista de variables] if sexo==1 In rango: Esta opcin, restringe el alcance del comando a un rango de observaciones especfico. La especificacin de ese rango toma la forma numrica, as lmite inferior[/lmite superior], siendo estos lmites posiciones.

Por ejemplo, se desea aplicar un comando entre el dato en la posicin 5 y la posicin 25 inclusive, la sintaxis ser: Comando [lista de variables] in 5/25 = Expresin: Se usa cuando se desea dar algn valor especfico al resultado. Se usa cuando se desea crear una nueva variable o reemplazar una variable(comandos generate o replace). Generate suma = variable1 + variable2 Weight: Se usa cuando se desea ponderar por alguna variable el resultado generado por un comando. Es til por ejemplo, para calcular de manera rpida un promedio ponderado. Summarize variable1 [weight=variable2] Opciones especficas: Cada comando, dependiendo de la operacin que realice, tiene opciones propias. Estas se analizan en el momento en que cada comando sea estudiado. En el caso que una opcin tenga ms de un argumento, estos se separan por comas(,). TIPOS DE ARCHIVOS

Stata maneja varios tipos de archivos, de acuerdo a su funcin dentro del programa. Es as como existen archivos de comandos(*.do), archivos de datos(*.dta), grficos(*.gph) y archivos de output o salida de resultados(*.log). Estos son los bsicos en el manejo de Stata. Otros archivos de gran utilidad son los archivos de programacin como *.ado, y macros diseadas por el usuario, los cuales sern analizados ms adelante.

Wilson Mayorga Mogolln

Manual Bsico de STATA

2. ADMINISTRACION DE DATOS
En general, todas las operaciones es posible realizarlas en Stata 9.0 mediante el uso del men. La importacin o exportacin de datos es posible mediante la ruta file-import. La administracin de datos que se explicar aqu mediante comandos, es posible realizarla utilizando el men data-combine datasets. En Stata las observaciones son numeradas secuencialmente desde 1 hasta N. En el formato de nmero de Stata no existen las comas; es decir cinco mil ser 5000 y el punto determinar decimales, por ejemplo 5.3. Tambin pueden escribirse nmeros negativos(-5.3) o nmeros en notacin cientfica(5e+3). En el caso que existan missing values, sern denotadas por un punto(.) dentro del archivo de datos, y para Stata siempre el missing value ser mayor que cualquier nmero; sin embargo, al realizar algn clculo estadstico, el programa obviar estos missing values. Los nmeros pueden ser guardados en uno de cinco tipos: byte, int, long, float(es el default) o double. La discriminacin depende del nmero de bytes de memoria necesarios para guardar cada observacin(es as como byte requiere un byte, int, que es diferente de integer, requiere 2 bytes as sucesivamente). Las variables alfanumricas son denominadas string y deben ir dentro de comillas. En Stata son denominadas str1, str2, En cuanto al formato de visualizacin, es decir, la forma en que los datos son presentados, es el siguiente: Para variables nmericas, viene expresado como %w.d seguido de uno de estos tres formatos: e, f, g. Con w denotamos un nmero entero que especifica la anchura del formato, mientras que d india el nmero de dgitos que siguen al punto decimal. Para variables alfanumricas, el formato es %ws, donde s indica que es string y w es un nmero entero que indica la anchura dada a la variable. Por defecto, el formato de cada variable es: Byte Int long float double Str# %9.0g %9.0g %12.0g %9.0g %10.0g %#s( o %9s si la anchura es menor de 9 caracteres)

Es posible cambiar el formato de visualizacin de las variables con el comando format. Por ejemplo, supongamos que una variable es del tipo float y se desea que tenga formato %10.2g, la sintaxis ser: format variable %10.2g

Wilson Mayorga Mogolln

Manual Bsico de STATA

CREACION DE VARIABLES Y ARCHIVOS DE DATOS

Los archivos de datos tienen extensin *.dta. A su vez, estn formados por variables. Cuando se nombra una variable dentro del programa Stata, la misma debe tener como mximo ocho caracteres (pueden ser letras o nmeros y debe empezar siempre con una letra). Las variables pueden ser: numricas, alfabticas, de fecha o de tiempo. El ingreso de Datos a Stata puede realizarse directamente utilizando el EDITOR o mediante lectura de archivos externos(ASCII), como Lotus o Excel o similares. Ingreso Manual de Datos

En la barra de comandos se da click en el Data Editor con lo cual aparece una hoja similar a Excel, donde se digitan los datos correspondientes, siendo cada columna una nueva variable, o se copian y pegan desde algn otro archivo(por ejemplo Excel o Word). En la parte superior de la ventana aparecen los nombres de las variables, encabezando cada una de las columnas en las que se introducirn sus valores. EDITOR DE DATOS

Una vez digitados los valores de cada celda(nmeros, nombres o frases), se procede a definir las variables: nombre, el formato y la etiqueta. Haciendo doble click en cualquier celda, nos muestra un cuadro de dilogo ofrecido para definir las caractersticas de la variable.

Una vez ingresados los nombres, se puede cerrar el editor y el programa preguntar si se desean mantener estos nuevos cambios. Aqu se dar click en OK y las nuevas variables aparecern en la ventana de DATA EDITOR.

Wilson Mayorga Mogolln

Manual Bsico de STATA 10

Esta operacin genera un archivo temporal, apenas terminaremos la sesin el desaparece perdiendo as la informacin. Para guardar la base de datos como archivo permanente con extensin *.dta, se elige FILE-SAVE AS donde se abrir un cuadro de dilogo que permitir especificar tanto la ruta de acceso como el nombre del archivo de datos que se desea grabar. Otra forma de introducir los datos directamente al programa es utilizando los comandos para este fin. Utilizando la ventana Commands, escribiremos las siguientes lneas de instrucciones, y para ejecutar se da Enter: Input caracterstica nombre_variable1 caracterstica nombre_variable2 input str9 nombre byte sexo byte edad float altura float peso A continuacin el programa esta esperando la informacin completa de cada persona. La forma de introducir los datos, es por filas, las observaciones son separadas por espacios, para identificar la informacin de cada tem, en el caso de las variables que empiezan con letras, ellas deben encerrase en comillas dobles (" "), por ejemplo: "WILSON" 1 26 176.21 72 Asi sucesivamente se introducen la informacin de los dems personas. Al finalizar de introducir los datos de la ltima persona, debe terminar con end. End Para dar la descripcin de las etiquetas de las variables podemos utilizar la ventana Data Editor, y proceder como se indic anteriormente. Igual para guardar la base de datos. Ejemplo: Input variable1 variable2 23 34 34 32 12 23 end Para guardar esta tabla se usa el comando save c:/extension del archivo. Este comando save tiene como opcin replace. Si los datos estn en memoria(es la tabla activa en ese momento en Stata) con slo dar INPUT nuevamente, ser posible ingresar nueva informacin nicamente digitando, y nuevamente finalizando con end. Input 56 78 89 90 end

Wilson Mayorga Mogolln

Manual Bsico de STATA 11

Es posible ingresar variables alfanumricas adicionando el formato str#, colocando el nmero de posiciones que tendr la variable antes del nombre de la nueva variable. Input str4 variable3 variabl4 Uno 1 Dos 2 Tres 3

Es importante recordar que toda variable creada pertenecer a la misma tabla de datos. Por otro lado, en cuanto a las variables numricas, no es necesario asignarles alguno de los formatos especficos que trae STATA. Por default usa FLOAT. Ingreso de Datos Externos

Stata importa datos provenientes de archivos externos de tipo ASCII (conocidos tambin como archivos planos). Existen 3 comandos disponibles para realizar importacin de este tipo de datos: infix, infile e insheet; siendo el tercero el ms verstil y el ms recomendable. En estos archivos la informacin puede venir de diversas formas: 1. En columnas: De esta manera se conoce la posicin donde se encuentra el valor de cada uno de los tems. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 7 9 8 3 8 7 6 2W I L S O N M A Y 1 2 6 1 7 7 . 2 1 7 0 . 2 En la tabla anterior hay seis variables: id, nombre, sexo, edad, altura y peso. Los datos se encuentran en formato de columna, y todas las observaciones de cada variable ocupan el mismo nmero de posiciones. Por ejemplo la variable id empieza en la columna 1 y termina en la columna 8. Cuando los archivos provienen de un archivo externo tipo ASCII, con estas caractersticas, se le debe indicar a Stata con la comandos infix y luego se le debe dar la forma que debe leer las base, teniendo en cuenta el siguiente orden para definir una variable: formato nombre posicin inicial - posicin final La lnea de comandos para este conjunto de datos es de la siguiente forma: infix str8 id 1-8 str9 nombre 9-17 byte sexo 18 byte edad 19-20 float altura 21-26 float peso 27-30 using " c:\stata\ejemplo.raw " ( Enter)

Wilson Mayorga Mogolln

Manual Bsico de STATA 12

Cuando se utiliza este formato, las posiciones de las variables deben ser fijas; es decir, en infix se indica que la variable nombre est en la columna 9 a 17, los datos para esa variable deben estar siempre entre esas posiciones. Este tipo de formato permite leer todo o parte del registro. En este ejemplo se lee todo el registro. Sin embargo, es posible leer slo algunas variables, por ejemplo, si quisiera leer slo el nombre y la edad, la sintaxis sera: infix str8 id 1-9 str9 nombre 9-17 byte edad 19-20 using "c:\stata\ejemplo.raw " El comando infix espera la ruta de ubicacin del archivo ASCII, por lo tanto es necesario ubicarlo de donde debe tomar el archivo, por lo tanto la lnea de comandos viene acompaada de otra palabra clave using. 2. Forma de lista: Se listan las variables en el orden en el cual aparecen en el registro de entrada. Las siguientes consideraciones se deben tener en cuenta para esta forma de ordenamiento de los datos: Las variables en el archivo por leer deben estar en el orden en el que aparecen en la lnea de comandos. Los valores de las variables deben estar separados por alguno de las siguientes alternativas: espacio en blanco, por tabuladores o por comas. En los valores para las variables alfanumricas no se permiten espacios en intermedios. La longitud por defecto para esta clase de variables es de ocho dgitos. Los espacios en blanco causan que los nombres de las variables y sus valores se desfasen. Los valores faltantes en este tipo de formato se indican con un punto (.).

Continuando con el ejemplo anterior, pero ahora se tiene la informacin en forma de lista: 79838762 WILSON MAY 1 26 177.2 70.2

La lnea de comandos para este conjunto de datos es de la siguiente manera: infile str8 id str9 nombre sexo edad altura peso using "c:\stata\ejemplo.raw " En el uso del comando infile para variables alfanumricas tiene que ser definido el formato, por ejemplo, en el ejercicio anterior la variable nombre debe ir antecedido por el formato a utilizar, es decir str9 nombre. Adems, en el uso del comando infile se supone que no existen espacios entre las palabras; por ejemplo si el nombre fuese Juan Carlos, debera incluirse como Juan_carlos.

Wilson Mayorga Mogolln

Manual Bsico de STATA 13

Si la separacin es por comas, tenemos la alternativa de utilizar dos comandos, infile y insheet La lnea de comandos para este conjunto de datos es de la siguiente manera: insheet id nombre sexo edad altura peso using "c:\stata\ejemplo.raw" Este comando carga en memoria temporal archivos de datos que estn en formato separados por comas, espacios o tabuladores(archivos planos o *.txt y similares). Su sintaxis es: Insheet lista de variables using nombre del archivo , opciones. Las opciones son: Names = indica si en la primera fila estn los nombres de las variables Comma = indica si las variables estn separadas por comas. Tab = Indica si las variables estn separadas por tabulador Clear = especifica que se desea quitar de la memoria los datos anteriores y dejar estos. insheet ejemplo1 ejemplo2 using "c:\data\ejemplo.raw", names Si las columnas en los datos no tienen nombre, entonces se usa nonames. Obsrvese que utilizando este comando no fue necesario definir los formatos de las variables alfanumricas, adems no es necesario agregar el simbolo (_), para separar el nombre de Juan_carlos. Si se usan tabuladores utilizaremos insheet o infile de la misma manera que el ejemplo anterior. Suponga estos datos Wilson Andres Julian 23 56 34 45 78 44

Se pueden ingresar a STATA, suponiendo que estn separados por tabulador y sin nombres de la siguiente manera: insheet using c:\data\ejemplo2.txt, nonames tab Utilizando el menu interactivo del programa es posible realizar las operaciones anteriores, mediante la ruta FILE IMPORT, la cual despliega el siguiente conjunto de opciones:

Wilson Mayorga Mogolln

Manual Bsico de STATA 14

OPERACIONES ENTRE ARCHIVOS STATA

Una vez importados o creados los datos, es posible operar con ellos. La nueva versin de Stata permite realizar estas operaciones bien sea por comandos o mediante la eleccin de las opciones correspondientes con el Mouse en el men DATA-COMBINE DATASETS. A continuacin se explicar el uso de comandos. En general, todos los comandos disponibles para realizar operaciones dentro la base de datos disponible en memoria se pueden encontrar siguiendo la ruta FILEDATA. Aqu se encuentra el siguiente conjunto de opciones:

El primer grupo de opciones, agrupadas dentro del men COMBINE DATASETS, permiten unir varias tablas de datos en una sola. Aqu se analizan 3 opciones: Unin Vertical(APPEND), Unin Horizontal(MERGE) y Seleccin de Datos(JOINBY). 1. CONCATENAR VERTICALMENTE Cuando se van a unir archivos que tienen variables comunes de diferentes individuos, esto se conoce como concatenar vertical. De la siguiente Manera:
TABLA A TABLA B

TABLA A

TABLA B

Wilson Mayorga Mogolln

Manual Bsico de STATA 15

Supongamos que se tienen dos bases de datos. Para generar el nuevo archivo que consiste en la unin de database1.dta y database2.dta, tenemos que seguir los siguientes pasos. 1. Tener activo alguno de ellos, por ejemplo database1.dta 2. Usar el comando append de la siguiente forma: append using "c:\stata\database2.dta" Para mantener los cambios debe guardarse esta nueva base de datos utilizando el comando save o mediante el men FILE-SAVE AS. 2. CONCATENAR HORIZONTALMENTE Este caso corresponde a unir valores de diferentes variables correspondientes a los mismos individuos. Se utiliza el comando merge y adicionalmente se requiere una variable comn o de enlace(Variable llave). Los archivos que se concatenan tienen que estar ordenados por las variables de enlace.
TABLA A TABLA B

TABLA A

TABLA B

Las siguientes lneas de comandos concatena horizontalmente los dos archivos anterior utilizando como variable de enlace id . Recuerde que alguna de las bases tiene que estar activa en el programa. Abrir el archivo database3.dta use "C:\stata\database3.dta", clear Ordenar este archivo teniendo en cuenta la variable enlace(variable llave) sort variable_llave Realizar la concatenacin. merge id using "C:\stata\database4.dta" En el caso que los archivos concatenados no tengan exactamente el mismo numero de observaciones, se generarn missing values en las posiciones donde falte informacin. El procedimiento genera una nueva variable ( _merge ), que aporta la informacin sobre lo realizado, utilizando los siguientes cdigos:

Wilson Mayorga Mogolln

Manual Bsico de STATA 16

_merge=1 Corresponde a los individuos (segn la variable enlace) que estn contenidos en la base activa y no estn contenidos en la otra base. _merge=2 Individuos contenidos en la base dos no contenidos en la base activa _merge=3 Individuos comunes en las dos bases. 3. INCLUSION DE INFORMACION ADICIONAL Suponga que se tiene una muestra de individuos(hombres y mujeres) y se desea adicionar una nueva variable denominada esperanza de vida. Supongamos que se tiene la tabla database1.dta, que corresponde a informacin de personas deseamos incluir informacin suministrada por otro archivo (esperanzadevida.dta) que corresponde a informacin de gnero. El ejercicio consiste en obtener una nueva base cuya unidad de observacin sean personas agregando la caracterstica obtenida del segundo archivo, es decir se asigne a las personas su esperanza de vida al nacer. El procedimiento necesita variables enlace (Variables llaves), es decir, variables comunes entre los dos archivos. Los archivos que se concatenan tienen que estar ordenados por las variables de enlace. Las siguientes instrucciones realizan la operacin propuesta, donde la variable de enlace es sexo. Abrir el archivo Stata database1.dta use "C:\stata\database1.dta", clear Ordenar el archivo activo teniendo en cuenta la variable de enlace, sexo. sort sexo Grabar el archivo database1.dta con la modificacin realizada en el segundo paso. save "C:\stata\database1.dta", replace Abrir la segunda base, esperanzadevida.dta. use "C:\stata\esperanzadevida.dta", clear Ordenar la base activa por la variable sexo sort sexo Unir la informacin adicional al database1.dta joinby sexo using "C:\stata\database1.dta"

Wilson Mayorga Mogolln

Manual Bsico de STATA 17

En el archivo final se repite la informacin de la segunda base de datos tantas veces como hombres o mujeres existan en la primera base de datos. En el caso que se use el men data y especficamente la opcin form all pairwise combinatios , es posible, mediante la pestaa de options, que se especifique qu observaciones se mantendrn en el archivo final: que ignore las que no concuerdan o que mantenga los registros de algunas de las tablas. 4. DISEO DE FILTROS: COMANDOS KEEP y DROP Estas instrucciones se utilizan cuando se va a trabajar slo con una parte de un archivo al seleccionar un grupo de variables u observaciones. Estos comandos restringen toda la base de datos, luego no es posible discriminar filtros para variables en particular. En caso que se desee aplicar el men, la ruta es data-variable utilities-eliminate variables or observations. El comando keep mantiene en el archivo, slo las variables que son listadas junto al comando, borrando el resto. keep [lista de variable] keep sexo altura Para restringir por observaciones se puede utilizar In rango o if expresin, como se analiz anteriormente: keep in 1/3 keep if sexo==1 & var3>20 El comando drop elimina del archivo activo, las variables que son listadas en la comandos. drop [lista de variable] drop sexo altura Igualmente, es posible utilizar el comando drop junto a las condiciones de rango y de expresin: drop in rango drop if condicin

En algunas ocasiones, el inters no es restringir la base de datos, sino simplemente realizar algn anlisis estadstico puntual sobre una parte de ella. En esos casos, es til utilizar las opciones in rango, if condicin o incluso by [lista de variables], de esta manera no se afecta la extensin de la base de datos.

Wilson Mayorga Mogolln

Manual Bsico de STATA 18

comando [lista de variables] if variable1> 25 in 12/75 Con la sintaxis anterior, se restringe a hacer alguna operacin en el rango de la 12ava observacin hasta la 75ava y adems si alguna variable es mayor a 25. OTRAS OPERACIONES RELACIONADAS CON DATOS REEMPLAZAR VARIABLES

En este caso se usa el comando replace Replace var1=1.5 in 1/10 USO DE DATOS YA CREADOS

Para usar tablas de datos ya disponibles se utiliza el comando use Use c:\nombre tabla, replace Otra forma es usar el men y all dar File Open. CREANDO ARCHIVOS LOG

Un archivo *.log guarda los resultados que aparezcan en la ventana de STATA RESULTS. Para crearlo se debe seguir la siguiente sintaxis: Log using c:\nombre archivo.log Si ya se cre este archivo en un ejercicio anterior y se desea escribir sobre l, entonces se adiciona luego de una coma el comando append. Si lo que se desea es SOBREESCRIBIR no se coloca append sino replace. Para dejar de grabar se escribe el comando log close Para detener de forma temporal la grabacin se usa log off; y para reiniciar la grabacin se usa log on. Estos dos comandos son tiles para evitar llenar el archivo de muchos pasos o muchas salidas. Para abrir archivo *.log, puede usarse la siguiente ruta: File-log-view Esta ruta abrir el archivo log y podrn verse los resultados guardados. EXPORTACION DE DATOS

En este caso se usan los comandos OUTFILE y OUTSHEET.

Wilson Mayorga Mogolln

Manual Bsico de STATA 19

Outfile variables using C:\nombre del archivo [if exp] [in range] , comma label replace wide Las opciones de este comando son: Comma = exporta separando las observaciones por coma Label = adiciona los indicadores que tengan las variables Replace = reemplaza un archivo ya existente Wide = amplia a ms de 80 caracteres lo que puede caber en una lnea. La diferencia entre el comando outfile y el comando outsheet es que el primero exporta a archivos planos, sin mayores formatos; en tanto el segundo presenta los datos de manera algo ms estilizados. La sintaxis y las opciones son las mismas.

Wilson Mayorga Mogolln

Manual Bsico de STATA 20

3. FUNCIONES Y EXPRESIONES
Antes ya vimos algunos usos de expresiones. Un listado ms detallado aparece a continuacin: + , - , /, ^(elevado), <, <=, >=, ==, ~=(diferente), ~(diferente),|(o), &(y) Ejemplo: list sexo if((social_c~=8 & social_c~=9) & edad<23 & civil==0) list if ingreso>1000 | ingreso>5000 & edad<25 En el caso de caracteres alfanumricos se escriben dentro de comillas. If pais ~= COL. En el caso que se deseen generar nuevas variables, bien sea utilizando los anteriores operadores o funciones, se debe anteponer SIEMPRE el comando gen o generate. Generate var4 = var1 + var2 Generate var5 = var1/var2 if dum==1 En el caso que no se cumpla la condicin se generar un missing value(.). Tambin es posible usar este comando antecediendo el separador bysort: bysort: sexo generate variable 4 = variable4*5; El conjunto de opciones de generar nuevas variables se encuentra en la ruta FILEDATA-CREATE OR CHANGE VARIABLES. En particular, la opcin gen aparecer en CREATE NEW VARIABLES.

FUNCIONES

Para operar funciones, es decir, para crear nuevas variables utilizando funciones, se debe anteponer el comando generate, con la sintaxis: gen nombre = comando(inputs). En caso que se desee utilizar el men para la generacin de variables, es posible seguir la ruta data-create or change variables. En cada operacin es posible tener acceso a la calculadora de stata que trae el listado de funciones y operaciones disponibles con gen y egen, as como a todos los smbolos que se desee utilizar, dando clic en create().

Wilson Mayorga Mogolln

Manual Bsico de STATA 21

VARIABLES DEL SISTEMA

Algunas expresiones pueden contener variables del sistema(denotadas como _variable) que son resultados de outputs de operaciones del sistema. Se reconocen por el smbolo antes de su nombre. Algunas de estas variables son: _b[variable] corresponde al coeficiente asociado a la variable elegida del ltimo modelo realizado. Si se coloca _b[_cons] se refiere al intercepto. Ejemplo: Regress variable1 variable2 variable3 Generate ejemplo = _b[_cons] + _b[variable1]*variable1 _N contiene el nmero total de observaciones en la tabla de datos _se[variable] corresponde a la desviacin estndar del estimador asociado a la variable elegida del ltimo modelo realizado. En el caso de modelos de varias ecuaciones, se adiciona antes de la variable del sistema el nmero de la ecuacin de donde se tomar el estimador, por ejemplo [#1] para la primera ecuacin. CASO ESPECIAL: Seleccin de una fila particular:

Si se desea igualar toda una variable a un elemento particular de otra variable se usa la siguiente sintaxis: Generate y = x[2] : Esto hace que la variable Y sea igual a la segunda observacin que tenga la variable X. Esto es til por ejemplo para generar rezagos: Generate rezago = x[_n-1] En el contexto de panel de datos no tiene sentido generar rezagos de esta manera(pues se tienen observaciones de diferentes individuos), en ese caso una solucin es la siguiente:

Wilson Mayorga Mogolln

Manual Bsico de STATA 22

Generate rezpanel = var[_n-1] if indicadora==indicadora[_n-1] STATA tambin permite especificar rezagos y diferencias de manera automtica, con los operadores L y D. Antes de utilizar estos comandos, es necesario especificar qu variable identifica el tiempo(si trabajamos con series temporales) y adems qu variable identifica a los individuos(si trabajamos con panel de datos). El comando que permite identificar una tabla de datos como un panel es tsset. Por ejemplo: Tsset id year Gen rez1 = L1.var1 Esta sintaxis genera una variable llamada rez1 que ser el primer rezago de var1. Si queremos el segundo rezago, el comando ser L2. Tsset id year Gen dif1 = D1.var1 En este caso estamos obteniendo la primera diferencia de la variable var1. Si deseamos la segunda diferencia el comando ser D2. VARIABLES INDICADORAS Y VARIABLES CATEGORICAS

Una variable Indicadora o Dummy asigna 1 o 0 segn se cumpla o no cierta caracterstica. Una variable categrica divide a la muestra en grupos dependiendo de cierta caracterstica (por ejemplo mucho, poco, nada). Toda variable indicadora es categrica, pero lo contrario no es cierto. Stata permite convertir variables continuas en categricas o indicadoras, y convertir variables categricas en variables indicadoras. a. Construccin de Variable indicadora a partir de variable continua: Generate d1 = (variable>25) D1 tomar el valor de 1 si la condicin es cierta y cero si es falsa. Si deseamos no tener en cuenta los missing values en el anterior ejercicio hacemos: Gen d1 = (variable>25) if variable~=. Una forma indirecta de crear la anterior variable hubiera sido la siguiente: Gen d1 = 1 if variable>25 & variable ~=. Replace d1=0 if variable<25 b. Construccin de Variable Categrica a partir de Variable Continua

Wilson Mayorga Mogolln

Manual Bsico de STATA 23

Vamos a generar una variable d2 cuyos valores estn en funcin de los valores de var1 de la siguiente forma: d2 vale 0 si var1<=1.5, vale 1 si var1 est entre 1.5 y 3.0 y vale dos si es mayor o igual a 3.0. Gen d2 = 0 if var1<=1.5 Replace d2 =1 if var1>1.5 & var1<=3.0 Replace d2=2 if var1>3.0 & var1~=.

Wilson Mayorga Mogolln

Manual Bsico de STATA 24

4. RESUMIENDO DATOS
El conjunto de opciones disponibles para crear tablas de resumen, mediante las cuales se puedan presentar de manera descriptiva los datos disponibles en memoria se halla en STATISTICS-SUMMARIES, TABLES, TEST TABLES.

COMANDO GLOBAL

Utilizando el comando global es posible crear grupos de variables as no es necesario estar escribiendo este grupo cada vez que se desee analizar: Global nombre del grupo var1 var2 var3 Cuando se quiera utilizar en algn comando este grupo se escribe donde corresponda al listado de variables $nombre del grupo. COMANDO TABLE

Los comandos ms importantes para presentar una rpida revisin de los datos(adems de los presentados en la seccin de administracin de datos) son los siguientes: Table Summarize Tabulate Correlate El diseo de tablas en stata puede ser de una va o de dos vas. En el primer caso se tiene una variable categrica por filas y en cada columna la variable continua a la cual se desee calcular estadsticas de resumen. En el caso de tablas a dos vas(two way) se deben tener dos variables categrica que se van a relacionar: Una por filas y otra por columnas. El men disponible para realizar dichas tablas es: statistics-summaries,table,teststables. El primer comando, table, presenta estadsticas bsicas en una tabla. Su sintaxis bsica es:

Wilson Mayorga Mogolln

Manual Bsico de STATA 25

Table variablefila variablecolumna if expresin in rango , contents(posibilidades) by(categrica) row col center left Las posibilidades de clculo son: Freq = frecuencia(default) Mean variable Sd variable Sum variable Count variable Max variable Min variable Median variable P# varname = este es el percentil, por ejemplo p95. Ejemplo: table pais, contents(mean costos) table pais, contents(n costos mean costos sd costos median costos) Igualmente es posible obtener tablas de doble entrada: simplemente se adiciona una variable en la sintaxis: table pais oecd, c(mean costos) table pais, by(oecd) contents(mean costos) COMANDO TABULATE

Este comando permite construir tablas frecuencias, incluyendo tablas de contingencia. La sintaxis es la siguiente: By categrica: tabulate variable1 variable2 if expresion in rango, all cell chi2 column exact gamma lrchi2 Tab2 variables if expresion in rango, opciones Ejemplos: Tabulate costos Tabulate costos concentrac Tabulate costos concentrac if costos>0.6 & concentrac<0.9, all Las opciones disponibles son:

Wilson Mayorga Mogolln

Manual Bsico de STATA 26

Tab1

produce una tabla de una salida para cada variable especificada en la lista de variables produce todas las posibles tablas de 2x2 con las variables especificadas. Genera todas las estadsticas disponibles en STATA para anlisis de tablas de contingencia. despliega la frecuencia relativa en una tabla de 2x2 calcula la prueba de independencia de pearson despliega en cada celda de la tabla 2x2 la frecuencia relativa dentro de la columna crea un conjunto de variables dummy que reflejen los valores observados de la variable tabulada.

Tab2

All

Cell Chi2 Column

Generate(variable)

Plot

produce un grfico de barras de las frecuencias relativas en una tabla de una nica salida.

COMANDO SUMMARIZE

Con este comando se proporciona informacin acerca del nmero de observaciones, media, desviacin estndar, mnimo y mximo de la variable especificada. By variable: summarize variables if expresin in rango, detail Con detail se adicionan algunos otros estadsticos. By oecd: summarize costos capmarket, detail summarize costos if pais=="COL" Ntese el uso del estrictamente igual. COMANDO CORRELATE

Este comando permite hallar la correlacin entre un grupo de variables. Su sintaxis es: By categorica: correlate variables if expresion in rango, opciones Las opciones son: Means = imprime un resumen de estadsticas

Wilson Mayorga Mogolln

Manual Bsico de STATA 27

Covariance = imprime la matriz de covarianzas en lugar de la matriz de correlaciones Obs = adiciona una fila donde muestra el nmero de observaciones usadas para calcular las correlaciones Sig = adiciona el nivel de significancia de cada coeficiente de correlacin Bonferroni = ajusta los niveles de significancia Pwcorr = despliega las correlaciones entre pares de variables incluidas en esta lnea.

Wilson Mayorga Mogolln

Manual Bsico de STATA 28

5. ANALISIS GRAFICO
TIPOS DE GRAFICOS

STATA presenta una manera eficiente de realizar diferentes grficos, muchos de ellos asociados a datos categricos. Los tipos de grficos que se analizan en esta seccin son: scatter = dispersin Histograms = histograma Oneway = nica variable Box = box-plot Bar = grfico de barras Pie = grfico de pastel La sintaxis bsica para generar grficos es: By categrica: comando variables if expresin in rango, opciones Las opciones cambian de un grfico a otro. Sin embargo, la versatilidad del Stata 9.0 permite que con el mouse sea posible editarlos muy fcilmente a partir del men diseado para tal fin. Los grficos ms sencillos se realizan en la ruta graphics-easy graphs. Cuando se desean adicionar algunas caractersticas particulares, es preferible realizarlos mediante las opciones principales graphics-twoway o overlay twoway. Ejemplo: twoway (scatter margeneto costos, mlabel(atipico))

twoway (scatter costos costos) (scatter margeneto costos, yaxis(2))

Wilson Mayorga Mogolln

Manual Bsico de STATA 29

GUARDANDO GRAFICOS

Stata como base presenta un grfico a la vez, sin embargo dando clic derecho sobre el grfico es posible guardarlo en el disco duro, eligiendo la opcin save graph. Supongamos que hemos creado 3 grficos con la forma anterior, para llamarlos y verlos simultneamente la sintaxis es: graph combine grafico1 grafico2 grafico3 Tambin es posible, mediante la ruta graphics-manage graphics-save graphics in memory copiar dichos graficos en la memoria temporal de Stata y luego utilizarlos en una ventana mediante la ruta graphics-table of graps. La sintaxis que imprimir el programa ser: graph copy g1 graph copy g2 graph combine g1 g2

Wilson Mayorga Mogolln

Manual Bsico de STATA 30

6. OPERACIONES ESTADISTICAS
De manera similar a otros programas como SAS, cada operacin estadstica se asocia a un comando particular. En esta seccin se presentan los comandos ms relevantes para modelos economtricos, y la aplicacin de algunos pocos. Es importante recordar que la nueva versin de Stata 9.0 permite realizar todas las operaciones estadsticas nicamente con buscar la opcin correspondiente en el men STATISTICS, con lo cual se facilita de manera muy importante el manejo del programa. LISTADO DE COMANDOS STATA - ANALISIS ESTADISTICO METODOS ESTADISTICOS SERIES DE TIEMPO anova Anlisis de Varianza y arch Modelos Autorregresivos en Covarianza varianza condicional bitest Test de Probabilidad arima Modelos de Series de Tiempo Binomial bstrap Muestreo por boxcox Transformacin de Box-Cox Bootstrapp(incluye estimacin) ci Intervalos de confianza para corrgram Correlograma de una serie de medias, proporciones y tiempo conteos correlate calcula correlacin entre dfuller test DF variables cumul Distribucin acumulada pperron Test Phillips-Perron cumsp Distribucin espectral pergram Periodograma acumulada cusum tests cusum para variables prais Correccin Cochrane-Orcutt y binarias Prais-Weinstein ksmirnov test de igualdad de wntestb test del periodograma para ruido distribuciones KM blanco kwallis test de rango de igualdad de xcorr cross correlagram proporciones means media aritmtica, geomtrica y armnica prtest Test de igualdad de METODOS DE REGRESION Proporciones sample Obtiene muestra aleatoria cnsreg Regresin Restringida signrank Test de rango y test del signo glm Estimacin de modelos lineales generalizados spearman Correlacin de Spearman y hausman Realiza el test de especificacin Kendall de Hausman summarize Estadsticas de resumen fracpoly Regresin fraccional polinomial swilk Test de Normalidad Shapiro- ivreg estimacin por variablesi Wilk instrumentales

Wilson Mayorga Mogolln

Manual Bsico de STATA 31

table

tabla de resumen de estadsticas

mkspline newey

construccin lineal por splines Regresin corregida por NeweyWest Mnimos cuadrados no lineales Modelo SUR Regresin Robusta Regresin por Cuantiles

ANALISIS MULTIVARIADO nl Correlacin Cannica sureg Test T generalizado de rreg Hotelling factor Componentes principales y qreg anlisis factorial hadimvo Identifica Outliers Multivariados predict canon hotel

DATOS DE PANEL modelos cross section time series xtgls estima modelos data panel usando GLS xtlogit estima modelos logit con Test Test de restricciones lineales efectos aleatorios despues de estimacion xtnbreg estima modelos binomiales Testnl test de restricciones no lineales negativos con efectos despues de estimacion aleatorios xtpois estima modelos poisson con efectos fijos o aleatorios xtprobit estima modelos probit con MODELOS DE DURACION Y efectos fijos o aleatorios SUPERVIVENCIA xtreg modelos lineales con efectos Cox Estima modelos tipo Hazard fijos o aleatorios proporcional xttobit modelos tobit con efectos fijos ct ctset Declara datos de conteo o aleatorios xtsum resume datos de cross section ct cttost Convierte datos de conteo en datos time series de supervivencia Ltable tabla de vida(datos de supervivencia) VARIABLE DEPENDIENTE DISCRETA st cox Estima el modelo de Cox Hazard Y LIMITADA biprobit Modelo Probit Bivariado st stdes describe datos de supervivencia clogit Modelos logit condicionales st Grafica la funcin hazard cox stphplot proporcional heckman Modelo de Seleccin de st strate tabula tasas de falla Heckman heckprob Estimacin de un Probit con st streg estima modelos de supervivencia correccin de seleccin paramtricos hetprob Estimacin de probit st sts genera, grafica y lista funciones de heterocedstico supervivencia logistic Regresin Logstica st sts crea variables hazard y de xt

obtiene prediccin, residuales despus de estimacin Reg3 Estimacin 3SLS Regress Regresin Lineal Regression Diagnstico de Regresin diagnostics _robust estimacin robusta en varianza

Wilson Mayorga Mogolln

Manual Bsico de STATA 32

logit mlogit nbreg probit ologit oprobit poisson tobit

Estimacin logit por mxima verosimilitud Modelo Logit Multinomial modelo binomial negativo Estimacin MV de un probit Estimacin MV de Logit Ordenado Estimacin MV de probit ordenado Regresin Poisson Modelos de regresin censurada

generate st sts graph st sts list

supervivencia Grafica la funcin hazard y la funcin de supervivencia lista funciones de supervivencia y hazard st sts test test de igualdad de funciones de supervivencia st stset declara datos para ser usados en modelos de supervivencia st stsum resume datos de supervivencia Weibull estima modelos de Weibull

Recordemos de una seccin anterior la sintaxis bsica de los comandos: [by variable indicadora:] comando [lista de variables] [= expresin] [if expresin] [in rango] [weight] [, opciones especficas] Donde entre brackets [] se presentan aquellas cosas que pueden ser opcionales al comando. Las palabras en ingls son de alguna manera fijas. Dentro de cada submen disponible en la ruta STATISTICS aparecer la operacin estadstica mediante pestaas de la ventana, as:

Wilson Mayorga Mogolln

Manual Bsico de STATA 33

a manera de ttulo aparece el comando que se utilizar. La primera pestaa siempre muestra el componente principal del comando, aquel donde se incluye la variable dependiente y las variables independientes. Adicionalmente, siempre existe una pestaa asociada a los componentes BY/ IF/IN que como se vio previamente, permiten especificar condiciones particulares para aplicar el comando sobre la tabla de datos disponible. Adicionalmente, aparece una pestaa para el componente WEIGHT de cada comando y una ltima pestaa para las opciones particulares del respectivo comando de Stata. A continuacin detallaremos a manera de ejemplo los comandos disponibles para realizar modelos de Regresin Lineal y Modelos de Datos de Panel. REGRESION LINEAL

El comando regress tiene la sintaxis que vimos anteriormente(de hecho todos los comando siguen esta sintaxis), por lo cual nos concentraremos en este y en los dems ejemplos en algunas pocas de las opciones particulares del comando: bysort categrica: regress dependiente independientes if condicin in rango, opciones Level(#) Noconstant Robust Especifica el nivel de confianza. Por default es 95. Realiza estimacin sin intercepto Calcula estimadores de regresin robustos en su varianza como Huber o White.

Cluster(variable) Especifica que las observaciones son independientes entre grupos, pero no necesariamente independientes dentro de los grupos. La variable en el parntesis especifica cules son los grupos. Se recomienda acompaar este comando de otros comandos: predict, test y diagnostic regression. Para realizar esto mediante el men se siguen las rutas: Statistics linear regression regression diagnostics Statistics general post estimation obtain predictions, residuals etc Statistics general post estimation tests

COMANDO PREDICT

Este comando, el cual acompaa en general a la mayora de modelos estimados, permite obtener, predicciones, residuales, estadsticas de influencia, y probabilidades(en el caso de modelos de variable dependiente discreta). Se encuentra dentro de la ruta STATISTICS-POSTESTIMATION. Predict nombre if expresin in rango, opciones

Wilson Mayorga Mogolln

Manual Bsico de STATA 34

Las opciones cambian de acuerdo al modelo estimado. Ntese que acepta slo 1 VARIABLE A LA VEZ. En el caso del modelo de regresin lineal son: Xb Pr(a,b) E(a,b) Cooksd Leverage | hat Residuals Rstandard Rstudent Stdf Stdr Covratio Dfbeta(variable) Dfits valores de Y estimado Prob(Yj/a<Yj<b) e(Yj/a<Yj<b) distancia de cook diagonal de la matriz Hat residuales residuales estandarizados residuales estudentizados error estndar de pronstico error estndar de los residuos covratio drbeta para variable dfits

Nota tcnica: Es posible adicionar antes de la coma la opcin [weight=variable] con lo cual se estimara la regresin por mnimos cuadrados ponderados. PRUEBAS DE HIPOTESIS

Usando el comando test es posible adicionar pruebas de hiptesis (restricciones lineales) sobre cualquier modelo estimado. La sintaxis puede verse de dos formas: Test expresion = expresion Por ejemplo: test _b[x1] + _b[x2] = _b[x3] test x2 = 10; test 2*(x1 3*(x2 x3)) = x3 + x4 + 6*(x5-x6) En el caso de sistemas de ecuaciones, debe adicionarse la ecuacin que se desea probar: por ejemplo test [#2]x1 + [#2]x2 = [#2]x3 Opciones adicionales (despus de una coma) de este comando son: Acummulate asigna que la actual restriccin sea probada de forma conjunta con algunas anteriores que se hayan realizado.

En el caso de sistemas de ecuaciones, tambin es posible usar la siguiente sintaxis: Test [variable y] variable x [variable y2] variable x2

Wilson Mayorga Mogolln

Manual Bsico de STATA 35

Si se desea probar la misma variable en todas las ecuaciones(o la misma restriccin en todas las ecuaciones) simplemente se escribe: Test variablex=0 O tambin: Test [variabley]x1 = [variabley2]x2 Test[variabley2]x1 [variabley2]x2 = 0 RESULTADOS GUARDADOS

Los resultados guardados en r() son: R(p) R(F) F(df) R(chi2) p-value estadstico F grados de libertad estadstico chi2

PANEL DE DATOS

Una de las ventajas que tiene STATA respecto a otros programas es su verstil manejo de modelos de datos de panel relativamente complejos. La ruta del men para operar este conjunto de modelos es statistics-cross section time series. El primer paso para poder trabajar con datos de panel es usar el comando tsset, para avisarle al programa el tipo de tabla a utilizar. En el men est disponible con statistics-cross section time series setup and utilities declare datasets. Todos los comandos que inicien con xt se refieren a datos de panel. El primer paso es definir la tabla como una panel de datos. La sintaxis es: Xtcomando variables if expresion in rango , i(variable individuos) t(variable tiempo) Tanto la variable de individuos, como la variable tiempo deben ser numricas y ser lo ms sencilla posibles(1,2,3). Siempre es obligatorio nombrar la variable que determina los individuos. La variable temporal slo se nombra en el caso que se desee incluir en el modelo. Existen dos comandos para resumir la informacin de panel: xtsum para resumir los datos del panel xtdes para hacer una rpida descripcin de los datos en trminos de su frecuencia y xttab para tabular los datos. Xtsum variables if condicion in rango, i(variable por individuos) Xttab variables if condicion in rango, i(variable por individuos) t(variable x t) Xtdes if condicin, i(variable) t(variable)

Wilson Mayorga Mogolln

Manual Bsico de STATA 36

XTREG

Se supone que el modelo de panel de datos no tiene un patrn de correlacin intragrupos y adems la variable dependiendiente es continua y con distribucin normal(es el panel estndar). El comando para este caso es xtreg. Xtreg dependiente independientes if expresion, opciones Xttest0 Xthaus Dentro de las opciones las ms importantes son: Re = estima el modelo de efectos aleatorios(GLS) Be = encuentra el estimador between Fe = encuentra el estimador within Ml = estima el modelo de efectos aleatorios por MV. No permite usar xttest0 ni xthaus Level(#) fija el nivel de confianza Theta imprime el estimador theta(combinacion lineal de between y within) I(variable) Xttest0 Xthaus define la variable separadora de individuos. realiza el test de Breush-Pagan realiza el test de Hausman

Tambin puede acompaarse este comando con el comando predict. Las opciones para este ltimo son: Predict nombre if in , opciones Xb Stdp Ue Xbu U E calcula el pronstico de y sin componentes de panel calcula el error estndar de la prediccin calcula ui + ei calcula la prediccin incluyendo el componente fijo o aleatorio calcula el trmino ui calcula la prediccin de eit

Wilson Mayorga Mogolln

Manual Bsico de STATA 37

En cuanto a medidas de bondad de ajuste, STATA reporta el R2 del modelo(correlacin al cuadrado) y los R2 de las estimaciones between y within. XTGLS

Este comando estima el panel de datos utilizando GLS. Su sintaxis es: Xtgls dependiente independiente if condicion in rango, i(variable) t(variable) opciones Algunas de las opciones son: Panels(iid) el default. especifica estrucutra de error homocedstica entre pneles. Este es

Panels(heterocedastic) Panels(correlated)

especifica estructura de heterocedasticidad sin correlacin entre pneles se puede escribir p(c ) especfica que el modelo adems de tener estructura de correlacin entre individuos tiene estructura de correlacin temporal. Para usar esta opcin es obligatorio haber definido la variable de tiempo.

COMANDO XTGEE

Este comando estimado modelos de datos de panel donde la variable dependiente no tiene distribucin normal y existe correlacin en el tiempo. La sintaxis es: Xtgee dependiente independientes if condicion in rango, opciones Las principales opciones son las siguientes: Family(distribucin) especifica la distribucin que se desea considerar. Las posibilidades son: Binomial, gaussian, gamma, igaussian, nbinomial, poisson. Si se elige gaussiana ser un panel probit. especifica correlacin de primer orden dentro de los grupos de individuos. Otras posibilidades dentro del parntesis para corr son ar#, stationary, nonstationary.

Corr(ar1)

I(variable) T(variable) Robust estima errores estndar robustos de White

Wilson Mayorga Mogolln

Manual Bsico de STATA 38

7. ELEMENTOS DE LENGUAJE
ARCHIVOS *.DO

Estos archivos de texto, corresponden a un conjunto de comandos que el usuario desea correr de manera simultnea y evita que se est escribiendo cada comando en la ventana correspondiente. Puede crearse en la ventana correspondiente de stata(editor Do) o en cualquier programa de texto como word o notepad. Se recomienda cerrar un archivo *.do con exit. Esto har que no afecte el resto de programacin. Si las lneas son muy largas dentro de un archivo *.do, entonces se puede realizar la siguiente sintaxis al inicio y al final de las lneas que se deseen, usando el comando #delimit: #delimit ; Lneas que se desee que finalicen una vez el usuario incluya un ( ;). #delimit cr Lo que hace es reemplazar el Enter como indicador de finalizacin de un comando por el punto y coma(;). Otra forma de continuar en otra lnea sin perder el sentido es usar los comentarios, como por ejemplo: summarize ... if (var1>0 | var1==.) & var2>0 & var3>0 & /* */ var1/var2>100 Cuando exista un error en el archivo *.do creado el programa generar un mensaje de error y no aplicar los comandos del archivo; a menos que el usuario indique desde el inicio de la creacin del archivo *.do que no se detenga. Para realizar esto se adiciona el comando nostop. Ejemplo de Uso de archivos do:

Wilson Mayorga Mogolln

Manual Bsico de STATA 39

Adicionalmente, puede crearse parte o todo lo que se corre en una archivo do con un comando log, de la misma forma en que se explic en secciones anteriores; Capture log close Log using archivo, replace operaciones log close La lnea capture log evita que el haber definido anteriormente un archivo log genere algn problema. Igualmente es posible llamar otros archivos do, dentro de un do, simplemente se escribe dentro del cdigo Do nombre archivo. Por ltimo, existen dos formas de correr un archivo do. Usar la opcin do nombre del archivo y run nombre del archivo. La diferencia entre ellas es que la opcin run no imprime las salidas que pudieren generarse de comandos que aparezcan en el archivo do. ARCHIVOS *.ADO

Este tipo de archivos son similares a los archivos *.src de programas como Gauss o RATS. Corresponden a archivos donde se encuentran programados comandos y operaciones especficas de Stata. Por cuestiones de orden, Stata busca primero los archivos *.ado(sean del programa o creados por usuarios o actualizaciones bajadas de la pgina web) en las siguientes rutas(pueden verse si se usa el comando sysdir) C:\stata C:\stata\ado\updates C:\stata\ado\base C:\stata\ado\site C:\ado\stbplus C:\ado\personal C:\ado Updates = actualizaciones oficiales de stata Base = directorio oficial de archivo ado disponibles con el programa Los dems pueden corresponder a archivos *ado creados por el usuario, excepto site que corresponde a archivo *.ado que estn disponibles en red (para usuarios con Stata instalado en red). Para instalar un archivo *.ado, es decir dejarlo disponible para que el usuario lo aplique, se copia en alguna de las anteriores carpetas(nuevamente, por orden se recomienda que si son diseos propios se guarden en personal).

Wilson Mayorga Mogolln

Manual Bsico de STATA 40

8. SERIES DE TIEMPO
Comnmente se consideran dos tipos de datos: numricos y alfanumricos. Un tercer tipo de variable puede ser aquella contadora del tiempo, es decir variables de fecha o variables calendario. El formato correspondiente en Stata es %d, en general y de manera particular tenemos los siguientes: %td %tw %tm %tq %th %ty diario semanal mensual trimestral semestral anual 31dec1999 1989w1 1989m2 1959q4 1989h2 1989

Dando doble click sobre la tabla de datos se reconoce el tipo de formato asociado a cada columna e igualmente es posible modificarlo. DEFINIENDO FECHAS

El truco es olvidarse que son fechas. Primero se tratan como variables numricas o alfanumricas y luego se convierten al formato de fechas. Ejemplo: Supongamos que tenemos un archivo *.txt que tiene la siguiente forma: Bill May Sam 21 11 12 jan jul nov 1952 22 1948 18 1960 25

La forma de importarlos es la siguiente: Infix str nombre 1-5 str fecha 7-17 edad 20-21 using archivo Una vez cargados los datos en una tabla de Stata se genera una variable llamada cumpleaos, as: Gen cumpleaos = date(fecha,dmy) Y finalmente se le da el formato de fecha a la variable cumpleaos: Format cumpleaos %d COMANDOS DE SERIES DE TIEMPO

Existen dos comandos tiles en la generacin de variables de fechas: mdy y date. El comando mdy(mes,dia,ao) convierte un conjunto de observaciones numricas en variables de fecha sin formato, es decir se observan como nmeros comunes y corrientes.

Wilson Mayorga Mogolln

Manual Bsico de STATA 41

Ejemplo: Suponga la siguiente tabla:

Para convertir estas tres columnas que corresponden respectivamente a mes, da, ao, usamos la siguiente sintaxis: gen fin = mdy(fecha,var2,var3) format fin %d Con estas dos lneas aparece la siguiente sintaxis:

La segunda forma de convertir observaciones a formato de fechas es usando la funcin date(variable, dmy). Esta funcin toma dos palabras: la primera corresponde al nombre de la variable y la segunda al formato que tomar la variable. Tenemos 6 opciones: dmy, mdy, ydm, myd, etc. Es importante anotar que los aos deben tener 4 nmeros, no slo 2. Igual los das y meses deben tener dos nmeros, no slo uno. Otros dos formatos de fecha, adicionales al formato %d son %dN/D/Y para que aparezca de manera 01/12/82 y el formato %dM_d,_CY para que aparezca january 21,1992. OTROS FORMATOS

Lo visto anteriormente se aplica cuando se tiene da, mes, ao en cualquier orden, pero qu pasa cuando la informacin no es as?. En ese caso, se puede trabajar con los formatos de diarios, mensual, trimestral, etc que se listaron anteriormente. Algunos ejemplos son los siguientes:

Ntese que se escribe el ao con 4 dgitos una q para referenciar el trimestre y luego el nmero del trimestre. Si se desease que fuese ao-mes la sintaxis hubiera sido 1994m1, 1994m2, etc.

Wilson Mayorga Mogolln

Manual Bsico de STATA 42

Para convertir una variable importada desde otro programa a formato de fechas se usan los siguientes comandos, todos precedidos del comando generate: Ao-semana Aomes Ao-trimestre Ao semestre yw(ao,semana) ym(ao,mes) yq(ao,trimestre) yh(ao,semestre)

La sintaxis general es: el comando y entre parntesis la variable que tiene la informacin de aos y luego de la coma, la variable que tiene la informacin del otro perodo. Ejemplo: Supongamos que se tiene la siguiente tabla en Stata:

Si queremos generar una variable que resuma la fecha trimestral, hacemos lo siguiente: Generate trimestre = yq(var1,var2) format trimestre %tq Si no se usa la segunda lnea aparecern nmeros sin ningn formato.

Wilson Mayorga Mogolln

Manual Bsico de STATA 43

CREANDO SERIES DE TIEMPO

Es posible crear dummys o disear filtros que se apliquen sobre variables temporales. Por ejemplo, si se desea crear una nueva variable que asigne 1 al primer trimestre, 2 al segundo y as sucesivamente, hacemos lo siguiente: gen q=quarter(dofq(trimestre)) Ntese que aqu se adiciona el comando dofq. Si quisieramos hacer lo mismo pero para una variable mensual el comando hubiera sido dofm; y si fuera semanal la frecuencia, el comando sera dofw. Ahora suponga, que se desea crear una dummy que sea igual a 1 si el trimestre es el segundo. En ese caso haramos lo siguiente: Gen dummy = quarter(dofq(trimestre)==2 Otro ejemplo ser: List if trimestre>q(1998q1) Recordemos que la variable trimestre tiene la siguiente forma: trimestre 1994q1 1994q2 1994q3 1994q4 1995q1 1995q2 1995q3 1995q4 Ahora considere el siguiente problema: ud desea crear una variable temporal que inicie en enero de 1990. La sintaxis que debe usar sera: Generate mes = d(1990m1) + _n-1 Format mes %tm Si fuese trimestral, se reemplaza la m por q en ambas lneas. TRABAJANDO CON SERIES DE TIEMPO

El primer paso para trabajar con series de tiempo en Stata es decirle al programa que la TABLA DE DATOS a analizar es efectivamente una coleccin de variables temporales. Esto se hace con el comando tsset. La sintaxis bsica de este comando es: Tsset [variable panel] nombre de variable, format(%tq) opcin

Wilson Mayorga Mogolln

Manual Bsico de STATA 44

Si los datos son mensuales se reemplaza %tq por %tm o si son da, mes, ao por %d, segn se ha visto anteriormente. La opcin disponible toma alguna de estas formas: Dayly Weekly Monthly Quarterly Halfyearly Yearly Ejemplo: Tsset tiempo, format(%tq) quarterly Ahora un ejemplo ms complejo: Suponga que ud tiene informacin mensual de las siguientes variables costos, margeneto, concentrac. Y desea realizar una regresin entre ellas. El primer paso es generar una variable de tiempo y luego definirla como mensual. La sintaxis ser la siguiente: gen mensual =ym(year,mes) format mensual %tm tsset mensual La variable ser la siguiente: mensual 1990m1 1990m2 1990m3 1990m4 1990m5 1990m6 1990m7 1990m12 1992m2 1992m3 1992m4 1992m5 La ventaja que tiene usar el comando tsset es que es posible realizar filtros en los comandos de estimacin teniendo en cuenta el tiempo. Esto se hace adicionando los comandos tin() y twhithin(). La diferencia es que el primero es un intervalo abierto(incluye las fechas inicial y final) y el segundo las excluye. Por ejemplo: regress margeneto costos concentrac if tin(1990m1,1990m2)

Wilson Mayorga Mogolln

Manual Bsico de STATA 45

Si el formato hubiese sido trimestral, lo que va dentro del comando tin tambin cambiar(por ejemplo 1990q1 01jan1998). List if tin(5jun1995,20jun1995) DIFERENCIAS Y REZAGOS

Para crear diferencias y rezagos se realiza la siguiente sintaxis: Gen diferencia = d.variable Gen rezago = l.variable MODELOS DE SERIES DE TIEMPO

Para estimar un modelo Arima o Garch debe previamente haberse usado tsset. MODELOS ARIMA

Este comando permite estimar modelos Arima sean estacionales o no y adems estimar modelos dinmicos. Aqu presentamos slo algunas de las mltiples opciones disponibles en Stata. La sintaxis bsica del comando es: Modelos Arima

Arima variable, arima(p,d,q) opciones Modelo dinmico

Arima dependiente independientes, ar(p) ma(q) opciones En ambos casos puede usarse los filtros if condicin o in rango. El nmero de rezagos en el modelo p, q corresponden a nmeros. Algunas opciones son las siguientes: Noconstant Constraint = impone restricciones lineales Robust = estima la correccin robusta de White Condition = estima por mxima verosimilitud condicional Detail = especifica en detalle los pasos de la estimacin

Wilson Mayorga Mogolln

Manual Bsico de STATA 46

Dos comandos anexos a estos modelos son predict y constraints. El primero, anexo a todos los comandos de estimacin, calcula residuales y medidas de ajuste y el segundo aplica restricciones lineales COMANDO PREDICT

En el caso del modelo Arima, predict tiene la siguiente sintaxis: Predict nueva variable if condicion in rango, estatistica dynamic(variable de tiempo) Las estadsticas puede ser alguna de las siguientes: xb, y, mse, residual Dynamic calcula predicciones un paso hacia delante en modelos dinmicos. COMANDO CONSTRAINT

Este comando, aplicable a muchos modelos disponibles en Stata impone restricciones lineales. Su sintaxis bsica es: Constraint define nmero de restricciones restriccin Ejemplo: Constraint define 1 costos =1 Para retirar la restriccin se utiliza constraint drop nmero de restricciones Constraint drop 1 Ejemplo: gen mensual =ym(year,mes) format mensual %tm tsset mensual arima D.seriejemplo, arima(1,1,1) Ejemplo: Arima consumo m1, ar(1) ma(1) robust, if tin(1984q1,1994,q4) MODELO ARCH

El comando correspondiente a este modelo, denominado arch, trae una gran cantidad de opciones, por lo cual se deja al lector la consulta de la gran mayora de ellas. La sintaxis bsica es: Arch dependiente [independientes] if condicion in rango, arch(nmero) garch(nmero) tarch(nmero) aarch(nmero) narch(nmero) narchk(nmero) abarch(nmero) atarch(nmero) sdgarch(nmero) earch(nmero) egarch(nmero)

Wilson Mayorga Mogolln

Manual Bsico de STATA 47

parch(nmero) tparch(nmero) aparch(nmero) nparch(nmero) pgarch(nmero) archm archmlags(nmero) ar(nmero) ma(nmero) arima(p,d,q) detail robust Donde nmero se refiere al orden autorregresivo de cada uno de los modelos considerados. arch chicor, arch(1) garch(1) GRAFICOS EN SERIES DE TIEMPO

En esta seccin vamos a considerar los siguientes grficos: lneas, autocorrelacin y autocorrelacin parcial. Para el clculo de las correlaciones y correlaciones parciales se usa el comando corrgram y para generar los grficos se usa ac y pac. Corrgram variable if condicin in rango, lags(nmero) Ac variable if expresion in rango, lags(nmero) needle gen(nueva variable) opciones de grfico Pac misma sintaxis del anterior. Las opciones de grfico pueden ser cualquiera disponibles para grficos tipo twoway. La nica opcin diferente es needle. Con esta se especifica que el grfico debe ser similar a un grfico de barras. Gen(nueva variable) especifica un nombre para guardar los resultados de correlacin o correlacin parcial.

MANEJO DEL TIEMPO EN PANEL DE DATOS

Como se referenci anteriormente, el primer paso es definir la tabla de datos como temporal usando tsset. En el caso de panel de datos debe adicionarse a este comando el nombre de la variable indicadora de individuos.

Wilson Mayorga Mogolln

Manual Bsico de STATA 48

Ejemplo: Supongamos que tenemos datos trimestrales, la definicin de datos de panel ser: Tsset individuos tiempo, quarterly Ejemplo2: Tenemos en Excel los datos para un grupo de pases y observaciones mensuales desde 1990enero 1990agosto: La sintaxis completa para definir esta tabla de datos como un panel de datos en Stata es la siguiente: gen tiempo = ym(year,id_date) format tiempo %tm tsset id_unit tiempo Recordemos que la variable indicadora de individuos debe ser numrica. Una vez utilizada esta sintaxis es posible utilizar cualquier modelo de estimacin de panel de datos disponibles en Stata(ver parte 2 de este manual para una rpida de revisin de algunos de estos comandos). Una vez usada la sintaxis aparecer lo siguiente: tsset id_unit tiempo panel variable: id_unit, 1 to 34 time variable: tiempo, 1990m1 to 1990m8

Wilson Mayorga Mogolln

Manual Bsico de STATA 49

9. MATRICES EN STATA
DEFINICION DE MATRICES

Una matriz se define de la siguiente manera: Matrix input A = (1,2\3,4) Donde los elementos de la misma fila se separan por comas y los elementos de las columnas se separan por \. Por ejemplo vectores sera matrix e = (1\2\3) F = (1,2,3) Un escalar sera: f=(2) Para verla impresa se le dice matrix list nombre de la matriz. Los operadores disponibles para matrices son los siguientes: +, - , *(tanto multplicacin entre matrices como por escalar), / divisin por escalar), #(kronecker), (transpuesta es una comilla). Concatenar horizontal = G = A,B Concatenar vertical = G = A\B Igualmente, siguiendo la ruta DATA-MATRICES es posible generar y operar matrices, as como convertir una tabla de datos disponible en memoria como matrices. FUNCIONES Y OPERACIONES MATRICIALES crea una identidad de tamao 10 crea una matriz de constantes z de tamao rxc descomposicin de cholesky. A debe ser simtrica matriz inversa toma un vector A y crea una matriz B con ceros alrededor y en la diagonal ese vector. opuesto del anterior

Matrix A = I(10) Matrix A = J(r,c,z) Matrix A = cholesky(A) Matrix A = inv(B) Matrix B = diag(A) Matrix B = vecdiag(A) Ejemplo:

Matrix F = diag(inv(B))*vecdiag(diag(d))+4*(J(3,3,10) Las siguientes operaciones deben ir antecedidas del comando generate: M = rowsof(A) M = colsof(A) M = trace(A) nmero de filas de A nmero de columnas de A

Wilson Mayorga Mogolln

Manual Bsico de STATA 50

M = det(A) M = el(A,i,j) M = A[i,j]

Retorna el i,j simo elemento de la matriz A Retorna el i,j simo elemento de la matriz A

La ltima expresin podra ser M = A[3,4+1]. Para imprimir un resultado de este tipo se usa el comando display M. Para elegir una submatriz se usa la siguiente sintaxis: Matrix B = A[1..3,5..10] Elige desde la primera fila hasta la tercera y de la quinta columna hasta la dcima. Toma la tercera fila y desde la cuarta hasta el final de las columnas

Matrix B = A[3,4]

Para escribir todas las columnas, por ejemplo se hara: Matrix B = [3,1] Para asignarle nombres a las filas y las columnas de una matriz se hace lo siguiente: Matrix A = (1,2,3,4\5,6,7,8\9,10,11,12\13,14,15,16) Matrix rownames A = a b c d Matrix colnames A = e f g h Matrix list A Ejemplo: Regresin Lineal clear use financiero keep if year==1997 mkmat capmarket costos, matrix(x1) generate filas = rowsof(x1) display "filas = " filas mkmat margeneto , matrix(y) matrix uno = J(34,1,1) matrix x = uno, x1 matrix xtx = x'*x generate colum = colsof(x) /*slo funciona con numricas*/

Wilson Mayorga Mogolln

Manual Bsico de STATA 51

matrix beta = inv(xtx)* x'*y display "beta" matrix list beta exit CONVERSION DE TABLAS EN MATRICES Y VICEVERSA

Para convertir una tabla en matriz se usa el comando mkmat; y el comando svmat realiza la operacin contraria, es decir toma una matriz y la convierte en datos. Ejemplos: mkmat var1 var2, matrix(matriz1) Con la opcin matrix se le adiciona el nombre. Matrix list matriz1 svmat matriz1 /*se puede adicionar una opcin llamada names(variable) para adicionarle nombre a las columnas colocando automticamente variable1, variable2*/

Wilson Mayorga Mogolln

Manual Bsico de STATA 52

ANEXO 01 PROGRAMAS Y CONDICIONALES


Un programa es un archivo que se aplica en Stata diseado por el usuario para realizar operaciones definidas por el mismo usuario. Cuando se escribe un comando no reconocido por Stata el programa pensar que es un programa y buscar su nombre. Si lo encuentra lo aplica. La sintaxis bsica de un programa es: Program define nombre del programa Comandos y operaciones de Stata End Es recomendable iniciar el archivo con la versin de Stata sobre la cual desea operar(version 9.0 para este caso). Adems del comando capture program drop, para que cada vez que se inicie el programa escrito se borre la memoria temporal de Stata. Capture program drop nombre del programa Si se desea que alguna lnea no sea leda se antepone un asterisco(*); y si se desea crear comentarios, se inician con (/*) y se finaliza con(*/). Estos comentarios pueden colocarse en cualquier parte, incluso entre lneas o entre comandos. Es importante anotar que estos comentarios slo pueden hacerse en este tipo de archivos. Un programa y un archivo *.do no son muy diferentes para Stata(los lee igual), pero existen algunas diferencias. Estas son: Un archivo *.do se aplica con do nombre del archivo, un programa se aplica con slo su nombre. Los programas deben ser cargados antes de ser aplicados. Para cargar un programa, la forma simple es primero usar run seguido del nombre del archivo donde qued guardado el programa y luego s aplicar el programa(simplemente dando su nombre).

Run nombre archivo Nombre del programa Un archivo *.do imprime en la ventana de resultados las operaciones y los comandos usados. Un programa slo imprime resultados.

Al igual que los archivos *.do un programa puede llamar otros programas (incluso un programa puede usar archivos *.do y viceversa). Los programas pueden crearse en el editor de archivos *.do o en cualquier editor de texto y pueden guardarse como archivos *.do o como archivos *.ado.

Wilson Mayorga Mogolln

Manual Bsico de STATA 53

Una forma ms eficiente de ahorrarse este problema entre archivos es guardar directamente el programa como si fuera un archivo *.ado, y esto se hace directamente desde el editor de *.do EJEMPLO DE UN PROGRAMA TIPICO Capture log close log using nombre archivo log, replace set more off Capture program drop nombre del programa program define nombre del programa operaciones end log close exit RECOMENDACIN IMPORTANTE: Se recomienda no complicar al programa con rutas de archivos muy largas. Lo ideal es tener todos los archivos referentes a un ejercicio en una nica carpeta( Y SLO UNA CARPETA). Y tambin debe guardarse cada archivo *.ado en algn sitio que Stata lo pueda encontrar(por ejemplo el listado de rutas donde stata por default). ALGUNOS COMANDOS UTILES EN PROGRAMACION COMANDO SET:

Set puede utilizarse de la siguiente manera: Set memory Set textsize Pero tiene otros muchos usos. Dentro de un archivo *.do puede usarse para: Set more esta lnea hace que el programa se detenga en cada pantallazo y as con un enter el usuario va leyendo. Esta lnea evita que aparezca la sintaxis de cada comando en la pantalla de resultados. Suprime todos los outputs que pudieran aparecer producto de comandos, excepto los mensajes de error.

Set rmsg off

Set output error

Wilson Mayorga Mogolln

Manual Bsico de STATA 54

COMANDO DISPLAY

Sirve para imprimir ttulos, igual que en RATS. Display ttulo COMANDO ASSERT

Este comando asegura o verifica que algn condicional sea verdad. Si lo es, no producir output. Si no lo es, imprimir assertion is false y detendr el archivo *.do donde se encuentre. La sintaxis bsica es: By categrica: assert expresin if condicin in rango Ejemplos: Assert costos>=0.2 | costos <=0.8 if year==1997 Assert costos ~=. COMANDO PRESERVE

Este comando permite que se modifique una tabla de datos dentro de un programa, pero que una vez finalizado el programa se mantenga la tabla original sin modificaciones. Program define nombre Operaciones Preserve Comandos que destruyen los datos originales y realizan clculos End El comando preserve mantiene la tabla una vez el programa finalice. Si se desea que cargue nuevamente la tabla original desde el mismo programa, en alguna lnea especfica se usa adems de preserve el comando restore. Program define nombre Operaciones Preserve Comandos que destruyen los datos originales y realizan clculos Restore, preserve Otros clculos sobre la tabla original End

Wilson Mayorga Mogolln

Manual Bsico de STATA 55

COMANDO QUIETLY

Este comando impide que sea impreso el output de un comando. Su sintaxis es: Program define nombre Quietly regress `1 `2 End Program define nombre Quietly { Regress `1 `2 Predict resid, resid Sort resid Summarize resid, detail } list `1 `2 drop resid end MACROS

NOTA: En esta seccin se har uso de la siguiente sintaxis, la cual es muy importante cumplir. Cuando se hable de comillas individuales realmente corresponde a `1. Es decir, el primer smbolo es la tilde y el segundo es la comilla individual. Una macro dentro de Stata corresponde a las variables utilizadas en un programa de Stata. Pueden ser locales o globales. Las macros locales debern tener mximo una letra menos que los comandos ( en la versin 6.0 eran 7 letras, en la versin 7.0 son 31). Ejemplo Local lista1 variable1 variable2 Hemos creado una macro que hace que cada vez que se diga List lista1 imprimir variable1 variable2 Otra forma de llamar macros es con: `lista1 local lista variable1 variable2 variable3 regress dependiente `lista

Wilson Mayorga Mogolln

Manual Bsico de STATA 56

Las macros locales o globales pueden tener el mismo nombre y Stata las reconocer como diferentes. Cuando se desea que la macro deje de ser alfanmerica(aplicable a ttulos) y funcione como operaciones, lo nico que debe hacerse es definir la operacin: Ejemplo: Local dos = 2 + 2 En este caso se define una macro llamada dos la cual evala la operacin y tendr valor de 4. Ejemplo: Suponga que ya existe una macro llamada i y se le desea sumar un nmero 3. La sintaxis ser: Local i = `i + 1 Ntese que para definir variables alfanumricas se usan dobles comillas( ) y para operar con macros ya creadas se usa comillas sencillas (` ). Ejemplo: If `respuesta ==si { } else { } Ntese el uso de dobles comillas: y tambin de dentro del llamado a la macro de nombre respuesta. La razn es que, primero las comillas sencillas se refieren al uso de la macro y las comillas dobles se refieren a que el contenido de esta macro es alfanumrico. ARGUMENTOS EN PROGRAMAS

Suponga que llama un programa de la siguiente forma: Programa variable1 variable2 En este caso tanto variable1 como variable2 son argumentos del programa y se incluyen como macros para ser operados dentro del programa. Stata por default define macros usando nmeros cuando se colocan variables seguidos de un programa o un archivo *.do.

Wilson Mayorga Mogolln

Manual Bsico de STATA 57

Por ejemplo: Do ejemplo1 var1 var2 var3 var4 Se definen automticamente las siguientes macros: `0 que ser igual a todo lo que el usuario escribi desde var1 hasta var4 con espacios comillas, todo. `1 la primera palabra que corresponde a var1 `2 la segunda palabra que corresponde a var2 etc.. capture program drop tester program define tester display "argument 1 is |`1'|" display "argument 2 is |`2'|" display "argument 3 is |`3'|" display "argument 4 is |`4'|" end exit Una mejor forma de llamar los argumentos dentro de un archivo do o un programa es usando el comando args. Con este comando se asignan los nombres a las posiciones llenadas por el usuario al llamar el programa. Ejemplo: Program define programa1 Args var1 var2 var3 var4 operaciones end Entonces var1 var2 var3 var4 se convierten en cuatro variables locales que corresponden a `1 `2 `3 `4 respectivamente. Otro ejemplo puede ser el siguiente: Program define ejemplo1 Args n a b Drop _all

/*se us una variable del sistema que borra todas las variables en memoria*/

set obs = `1 generate x = (_n-1)/(_N-1)*(`b-`a)+`a end

Wilson Mayorga Mogolln

Manual Bsico de STATA 58

USO DE CONDICIONALES

Los principales comandos que podemos usar en programacin son: If else While Foreach Forvalues COMANDO IF

Su sintaxis es: If expression { Comandos Stata } else if expression { comandos stata } else { comandos stata } Ejemplo: Este programa toma 2 argumentos. El primero es una variable existente(x). El segundo argumento es un nmero(n). El programa crear una variable llamada z. Si n>0, z = x^n; si n=0, entonces z=log(x) y si n<0 entonces z= -x^n. Esta es la transformacin de box-cox. capture program drop potencia program define potencia if `2'>0 { generate z =`1'^`2' label variable z "`1^`2'" } else if `2'==0 { generate z = log(`1') label variable z = "log(`1')" } else { generate z = -(`1'^(`2')) label variable z "`1'^(`2')" } end

Wilson Mayorga Mogolln

Manual Bsico de STATA 59

Aqu introducimos la sintaxis para los corchetes. Estos indican operaciones repetitivas(loop) todo lo que vaya dentro de corchetes se har de manera que cumpla la condicin impuesta, bien sea por un condicional if, como en este caso, o por otros condicionales como los que siguen a continuacin. COMANDO FOR

Este comando permite realizar operaciones repetitivas. Su sintaxis bsica es: For variable in rango tipo de lista : comando condicin en funcin de X. Siendo x un letra que siempre debe ir; en este caso particular(nicamente con este comando) la X es fija como sintaxis; y tambin ntese que la X va en mayscula. En general estas variables comodin(en mayscula para escribir la operacin correspondiente) son: X, Y, Z, A, B, C, D, E mejor dicho, cualquier cosa que vaya en MAYUSCULA Se pueden tener varios tipos de lista separados por \; de igual manera se pueden tener varias condiciones separadas por \ Los tipos de lista pueden ser: Var New Num Any Ejemplos: Creacin de 100 variables con nmeros uniformes: (debe haberse definido el tamao de la tabla previamente. Esto se hace con la instruccin set obs nmero) set obs 100 For new u1-u10: gen x=uniform() Reemplaza en cualquier variable un missing value: Un listado de variables: var1 var2 var3 una nueva variable Una secuencia de nmeros(por ejemlo 4/10) para cualquier variable

For any . : replace z=. If y= X Genera nuevas 5 variables que corresponden a los poderes de x2, x3, x4, x5.

For new x2-x5 \ num 2/5: gen X =variable^Y

Wilson Mayorga Mogolln

Manual Bsico de STATA 60

COMANDO FORVALUES

La sintaxis para este comando es: forvalues nueva_macro = rango { comandos referidos a nueva_macro } Donde nueva macro es el nombre de una nueva macro local y rango especifica el rango de valores para los cuales se desea operar. Ejemplo: Construccin de un contador hasta 10

program define diez forvalues i = 1(1)10 { display "`i'" } end Ntese la sintaxis del rango la macro se llama i y empieza en 1(va de 1 en 1)hasta 10. Adems al ir imprimiendo lo que est en el parntesis imprimir un valor secuencial. program define ejemplo local N = _N forvalues i = 1(1)`N' { display name[`i'] display _column(10) "genero " genero[`i'] } end COMANDO WHILE

La sintaxis para este comando es: while condicion { comandos Stata } Ejemplo: Construccin de un contador hasta 10 program define diez_w local i = 1 while `i' <= 10 { display `i' local i = `i' + 1 } end

Wilson Mayorga Mogolln

Manual Bsico de STATA 61

VARIABLES TEMPORALES

Funcionan para crear una variable dentro de un programa que una vez finalizado este programa deja de existir. Su sintaxis es: Tempvar variable Gen `variable = var1^2 + var^2 Y esta variable puede ser usada en cualquier parte del cdigo del programa. En el caso de matrices se reemplaza tempvar por tempname y se sigue la sintaxis de las matrices. Tempname YXX Xinv Matrix accum `YXX = precio costos Matrix `Xinv = inv(`YXX) Tenmpname b Matrix `b = `Xinv * `YXXX Ntese que realmente estas variables son macros locales y adems temporales. Entonces siempre deben sealarse con las comillas usadas para las macros. RESULTADOS DE OTROS PROGRAMAS

Stata maneja varios tipos de resultados disponibles. Aqu analizaremos dos: aquellos asociados con r() que provienen del resultado de algn anlisis y aquellos asociados con e() que se refieren a estimaciones. En este punto el truco es conocer qu comandos tienen posibilidades de obtener los resultados de esta manera y aplicarlos; y para esto la forma ms sencilla es mantener una permanente consulta con el help del programa. Ejemplo: Ejemplo: summarize x generate y = x - r(mean) Program define media Quietly summarize `i Display media = r(mean) Display varianza = r(Var) End Para saber qu es e() y qu es r() se puede, una vez corrido el comando especfico dar alguna de las siguientes instrucciones:

Wilson Mayorga Mogolln

Manual Bsico de STATA 62

Estimate lists Return lists Con esto aparecer en listado de lo cada comando tiene disponible para operar. Si en el ejemplo anterior se deseaba mantener esta media y varianza como macros locales, se escribe: Summarize `1 Local media = r(mean) ...`media RESULTADOS PARA OTROS PROGRAMAS

Si el programa que el usuario disea hace alguna estimacin o clculo, es til guardar este resultado. Los pasos a seguir son: 1. sobre la lnea program define especifique la opcin rclass o sclass de acuerdo al tipo de resultado que requiera. 2. use el cdigo: return scalar nombre = expresion return local nombre return matrix nombre nombre_matriz estimates scalar nombre = expresion estimates local nombre estimates matrix nombre nombre_matriz Ejemplos: Program define media, rclass Quietly summarize `1 Return scalar media = r(mean) Display media = return(media) End Ntese que se us el comando return para crear el resultado que el usuario desee. Crear resultados de estimacin es un poco ms complejo y se remite al usuario de Stata al users guide que acompaa el programa.

Wilson Mayorga Mogolln

Manual Bsico de STATA 63

GENERACION DE OPCIONES: EL COMANDO SYNTAX

Este comando permite disear el programa para que se parezca de manera prcticamente igual a un comando de Stata. En este punto slo se analizar de manera muy rpida, dada la extensin que supone este tema. Este comando se usa dentro de un programa y se escribe cmo se desea que aparezca este comando creado: Ejemplo: Program define programa1 Syntax varlist [if] [in] [, opcin1(integer 50) opcin2(real 1.0) opcin3(string) Operaciones End Cada uno de estos componentes tienen sus propias opciones, en el momento de programar. Slo se presentan algunas: La primera regla es que todo lo que vaya entre corchetes cuadrados sern opcionales. Algunas formas de definir la lista de variables son:

Syntax varlist Syntax [varlist] Sintax varlist(min=2,max=6 numeric) Syntax newvarlist(max=1)

Algunas formas de definir el If son:

Syntax..if Syntax.[if].. Algunas formas de definir el in son:

Syntax..in Syntax.[in] Algunas formas de definir las expresiones:

Wilson Mayorga Mogolln

Manual Bsico de STATA 64

Syntax..= expresion Syntax..[=expresion] Algunas formas de definir opciones:

Syntax, opcin1 opcin2 Syntax..[, opcin1 opcin2] Adems como opciones tambin pueden incluirse replace, detail, values(numlist), frequency, y su sintaxis es copiada de cmo se hara en comandos ya diseados en Stata. Ejemplo: program define programa version 7.0 syntax varlist [if] [in] [, ajuste(real 1) title(string)] display "`title' " ~="" { display "`title': " } tokenize `varlist' while =`1' ~="" { variable `ajuste' `1` macro shift } end

Wilson Mayorga Mogolln

Manual Bsico de STATA 65

MATRICES EN PROGRAMAS

Es posible realizar programas utilizando matrices, como por ejemplo el siguiente: program define matmult args A B C if colsof(`A')~rowsof(`B') { error } local a = rowsof(`A') local b = colsof((`A') local c = colsof(`B') matrix `C' = J(`a'. `c',0) local i=1 while `i'<=`a' { local j=1 while `j'<=`c' { local k=1 while`k'<=`b' { matrix `C'[`i',`j'] = `C'[`i',`j'] + /* */ `A'[`i',`j',`k']*`B'[`k',`j'] local k = `k' + 1 } local j = `j' + 1 } end

Wilson Mayorga Mogolln

Manual Bsico de STATA 66

ANEXO 03. DISEO DE VENTANAS Y BOTONES El conjunto de comandos asociados a window en Stata permiten que el usuario presente de manera interactiva algunas de las muchas operaciones que realiza este programa. Este conjunto de comandos se organizan de la siguiente manera: Window menu: crea jerarquas dentro de los menes. Window dialog: crea cajas de dilogo para que el usuario interacte con el programa. Window control: Genera controles dentro de las ventanas Window fopen: Crea ventanas estndar(esto se entender ms adelante). Window stopbox: despliega mensajes. Window menage: Minimiza ventanas.

De igual manera a como se pueden crear ventanas, es posible crear nuevos menes donde el usuario elija las operaciones que considere convenientes. A continuacin analizaremos cada uno de los controles disponibles. Lo ms usual es que este conjunto de comandos se diseen dentro de un programa de Stata. COMANDO WINDOW CONTROL

La sintaxis bsica de este comando es: Window control tipo de botn texto a presentar x1 y1 x2 y2 nombre de la macro asociada La macro asociada se refiere a que para cada botn debe generarse una variable que ser macro global con nombre DB_primeras letras del texto(por ejemplo DB_regres) con lo cual es posible asignarle a este botn(o ms especficamente a esta macro) alguna operacin. Algunos de los tipos de botn disponibles son: Button Check Edit Static Radio = botones por ejemplo OK, CANCEL = Cuadros opcionales donde se eligen varias alternativas = Genera espacio para ingresar nombres de variables = Genera un espacio para ingresar texto = Genera botones donde se elige slo una opcin. Debe crearse una macro asociada, la cual toma los valores 1,2,3segn los comandos de este tipo que se tengan.

X1, y1, x2, y2 son nmeros y estn asociados con el tamao de la caja y la posicin de cada botn dentro de la caja de dilogo.

Wilson Mayorga Mogolln

Manual Bsico de STATA 67

Una diferencia fundamental entre el comando edit y el comando static es que el primero permite generar informacin que vara, en tanto en el segundo la informacin que se ingrese no se puede modificar. De hecho, el static funciona casi exclusivamente para generar ttulos. ssimple list box = Genera una lista de variable para seleccionar una de la lista. = Igual que el anterior, genera una lista, pero no es visible y el usuario debe cargar una variable a la vez. Igual contiene una macro que se pueda usar con $nombre de la macro.

La variable resultante de La eleccin con estos ltimos dos comandos estarn disponibles utilizando $nombre de la macro. Para crear la lista de variables disponibles para ser elegidas con esta opcin, se usa la sintaxis dentro del cdigo de generacin de controles. As al usar una tabla de datos de Stata la lista de variables pertenecientes a la tabla estar disponible para la eleccin con estos comandos. Syntax[varlist] Global DB_var = `varlist TODOS LOS CONTROLES EN UNO

Para finalizar y permitir que funcione el cuadro de controles debe usarse el comando wdlg nombre de la tabla de controles x1 y1 x2 y2. Con este comando se crea la tabla general dentro de la cual irn los comandos previamente programados. Para finalizar un cuadro de controles, se usa un botn de CANCELAR. Este se disea con exit 3000. En Stata un valor entre 3000 y 3099 en la posicin indicada(que viene a corresponder a algo similar a una macro global) cancela la operacin vigente. Ejemplo: El siguiente cdigo resume todas las opciones presentadas. Se espera que el lector trate de entender cada lnea del cdigo: Con el comando list box se elige la variable dependiente y con el comando ssimple se elige la independiente y se finaliza con una regresin simple. macro drop DB* capture program drop controles program define controles global DB_chk1 = 0 global DB_chk2 = 0

Wilson Mayorga Mogolln

Manual Bsico de STATA 68

global DB_chk3 = 0 window control check "check 1" 20 5 50 10 DB_chk1 window control check "check 2" 80 5 50 10 DB_chk2 window control check "check 3" 140 5 50 10 DB_chk3 global DB_rad " botones de Radio" window control static DB_rad 10 28 172 25 blackframe window control static DB_rad 65 25 55 12 center *Botones Radio con Default = 1 global DB_rval = 1 window control radbegin "radio 1" 20 35 35 10 DB_rval window control radio "radio 2" 80 35 35 10 DB_rval window control radend "radio 3" 140 35 35 10 DB_rval global DB_nval " " global DB_eval " " global DB_pval " " global DB_otro "comando ssimple" global DB_otro2 "comando list box" window control static DB_otro 95 window control ssimple DB_var 95 window control static DB_otro2 5 window control scombo DB_var 5 global DB_regre "regresion" global DB_salir "exit 3000" window control button "REGRESION" 5 125 80 15 DB_regre window control button "SALIR" 90 125 80 15 DB_salir syntax [varlist] global DB_var "`varlist'" wdlg "test dialog" 10 10 190 170 end capture program drop regresion program define regresion regress $DB_ss $DB_sc end 65 80 9 75 80 50 DB_ss 65 80 9 75 80 90 DB_sc

Wilson Mayorga Mogolln

Manual Bsico de STATA 69

use financiero controles

COMANDO WINDOW MENU

Este comando genera menes interactivos dentro de la barra del mismo nombre disponible bajo el sistema Windows. La sintaxis bsica es la siguiente: Window menu tipo Los tipos son comandos que especifican la operacin a realizar. Son los siguientes: Clear Append popout nombre del menu titulo del menu Append string titulo del menu nombre del submen Popout nuevo submen Set nombre del men nombre del submen corresponde al nombre de un men previamente creado que se quiere ingresar en un nuevo men ms grande; es decir crear jerarquias entre menes, como cualquier programa bajo windows. Popouts se asocia con la operacin de vincular un submen a un men prinicipal. String se asocia con asignarle un nombre a un submen y con asignarle una operacin estadstica o propia de Stata a un men. La idea es saber ordenar este conjunto de posibilidades para tener un men ordenado y coherente. Con window menu clear se borran de memoria temporal los menes que se encuentren actualmente cargados. Con window menu set se activa el men anteriormente programado. Ejemplo: usando la siguiente sintaxis

Wilson Mayorga Mogolln

Manual Bsico de STATA 70

Window menu clear window menu append popout "sysmenu" "regresion" window menu append string "regresion" "simple" window menu append string "regresion" "multiple" window menu append string "regresion" "multivariado" window menu set "sysmenu" Se genera el siguiente men:

Ahora creando submenes tendremos la siguiente sintaxis: window menu clear window menu append popout "sysmenu" "tests" window menu append popout "tests" "test de media" window menu append string "tests" "test de varianza" window menu append string "test de media" "varianzas iguales" window menu append string "test de media" "varianzas desiguales" win m set "sysmenu"

Si se quiere adicionar una operacin o ms exactamente, un comando de Stata se coloca posterior a la definicin del nombre del submen correspondiente. Ejemplo: use financiero window menu clear window menu append popout "sysmenu" "regresion" window menu append string "regresion" "simple" "regress margeneto costos" window menu append string "regresion" "multiple" "regress margeneto costos concentrac" window menu set "sysmenu" Claro que un ejemplo tan simple no tiene mucho sentido. Lo ideal disear primero programas(archivo *do o archivos *ado) y una vez creados ser utilizados dentro de un men. A manera de ejemplo presentamos lo siguiente:

Wilson Mayorga Mogolln

Manual Bsico de STATA 71

use financiero capture program drop menu1 program define menu1 window menu clear window menu append popout "sysmenu" "ejemplo" window menu append string "ejemplo" "grafico2" "graph `0'" window menu append string "ejemplo" "regresion2" "regresion `0'" window menu set "sysmenu" end capture program drop regresion program define regresion regress `0' end capture program drop grafico program define grafico graph `0' end menu1 margeneto concentrac COMANDO STOPBOX

Este comando genera mensajes en una caja. Su sintaxis es: Window stopbox mensaje Los mensajes disponibles en Stata son: Stop Note Rusure Ejemplos: = avisa de la finalizacin de alguna operacin = avisa de algn resultado obtenido = Pregunta para continuar con alguna operacin

window stopbox stop "Este comando Avisa de Errores" "Trate de Nuevo"

window stopbox note "Este comando Revisa Resultados" "Presione OK para continuar"

Wilson Mayorga Mogolln

Manual Bsico de STATA 72

window stopbox rusure "desea realizar alguna operacin" "Presione OK para continuar"

El tercer comando genera una variable global llamada _rc la cual toma dos valores: 0 si se eligi OK y 1 si se eligi cancel. A continuacin presentamos un programa ms complicado: use financiero window stopbox rusure "desea realizar una grfica o una regresion" "Presione OK para regresion" if _rc==0 { regress margeneto costos concentrac } else { graph margeneto costos }

COMANDO MENU DIALOG

Con el comando window control se crean botones, pero no es posible asignar operaciones. Con este comando, window dialog se asignan las operaciones a los botones creados. Su sintaxis bsica es: Window dialog nombre de la caja x1 y1 x2 y2 Pero es importante recordar que este comando window dialog cierra un conjunto de comandos generados por window control; algo as como resumir esos comandos de control. Este comando genera una variable global llamada _rc. Si este valor es de 3000 o superior hata 3099 finaliza la ejecucin(es como tener un botn de cancelar).

Wilson Mayorga Mogolln

Manual Bsico de STATA 73

X1, y1, x2, y2 son nmeros y estn asociados con el tamao de la caja y la posicin de cada botn dentro de la caja de dilogo. Ejemplo: use financiero capture program drop ex1 program define ex1 window control button "regresion" 10 10 30 15 DB_reg window control button "cancelar" 90 10 30 15 DB_ca global DB_reg "regress `0'" global DB_ca "exit 3000" window dialog "ejemplo" . . 140 55 end ex1 margeneto costos

Wilson Mayorga Mogolln

Vous aimerez peut-être aussi