Vous êtes sur la page 1sur 47

Este tutorial es una introduccin a Stata haciendo hincapi en la gestin de datos y grficos.

Una discusin complementaria de modelos estadsticos se pueden encontrar en la seccin Registros de Stata mi curso GLM enhttp://data.princeton.edu/wws509/stata .

Contenido 1. Introduccin 1.1 Un Stata 1.2 los recursos Stata 1.3

recorrido Utilizacin

rpido

de eficaz

Stata de

2. Gestin Stata 2.2 Lectura de 2.3 Documentacin 2.4 Creacin 2.5 Gestin de archivos Stata 3. Stata 3.1 3,2 3.3 Gestin de Parcelas

de 2.1 datos de de nuevas en

datos Archivos Stata datos variables

Diagramas trazos

de de

Grficos dispersin lnea

4. Programacin 4.1 4,2 4.3 Comandos de Escritores 1. Introduccin

Stata Macros Looping

Stata es un poderoso paquete estadstico con gestin inteligente de datos de las instalaciones, una amplia gama de Up-to-Date tcnicas estadsticas, y un excelente sistema para producir grficos de calidad de publicacin. Stata es rpido y fcil de usar. En este tutorial vamos a comenzar con una breve introduccin y una visin general y luego discutir la gestin de datos, estadsticas, grficos y programacin. El tutorial se ha actualizado de la versin 12, pero la mayor parte de la discusin se aplica a las versiones 8 y posteriores. 1.1 Un recorrido rpido de Stata Stata est disponible para Windows, Unix y Mac. Este tutorial se centra en la versin de Windows, pero la mayor parte del contenido se aplica a las otras plataformas tambin. La versin estndar se llama Stata / IC (o intercooler Stata) y puede manejar hasta 2.047 variables. Hay una edicin especial llamada Stata / SE que puede manejar hasta 32.766 variables (y tambin permite que ms variables de cadena y grandes matrices), y una versin para equipos con varios procesadores multincleo / llama Stata / MP, que tiene los mismos lmites, pero es sustancialmente ms rpido . El nmero de observaciones es limitado por la memoria del ordenador, el tiempo que no excede de aproximadamente dos mil millones. Estas tres versiones estn disponibles tanto para equipos de 32 bits y de 64 bits, esta ltima puede manejar ms memoria (y por tanto ms observaciones) y tienden a ser ms rpido.Tambin hay una pequea versin de Stata que se

limita a unas 1.000 observaciones de 99 variables. Todas estas versiones se pueden leer mutuamente sus archivos dentro de sus lmites de tamao. En OPR podr acceder a Stata / SE en Windows ejecutando la versin de red de su propia estacin de trabajo, basta con crear un acceso directo a \ \ opr \ acciones \ aplicaciones \ stata12se \ stataSE.exe . (Si usted tiene una estacin de trabajo de 64 bits cambiar el nombre del programa para stataSE-64.EXE.) Para trabajos intensivos computacionalmente es posible que desee para acceder a nuestro servidor Windows Coale a travs de escritorio remoto y ejecutar Stata / SE all. Si prefiere los sistemas Unix sesin en nuestro servidor Unix Lotka a travs de XWindows y dejar su trabajo en ejecucin all. 1.1.1 La interfaz de Stata Cuando se pone en marcha Stata que ver cinco ventanas acopladas, inicialmente dispuestas como se muestra a continuacin:

La ventana con la etiqueta de comando es donde usted escribe sus rdenes. Stata continuacin, muestra los resultados en la ventana ms grande inmediatamente arriba, llamado apropiadamente suficientes resultados . El comando se agrega a una lista en la ventana con la etiqueta Revisin de la izquierda, para que pueda realizar un seguimiento de los comandos que se han utilizado. La ventana con la etiqueta Variables , en la parte superior derecha, muestra las variables del conjunto de datos. El Properties ventana inmediatamente inferior, nuevo en la versin 12, muestra las propiedades de las variables y conjuntos de datos. Puede cambiar el tamao o incluso cerrar algunas de estas ventanas. Stata recuerda su configuracin la prxima vez que se ejecuta. Tambin puede guardar (y cargar) nombr preferencia establece mediante el men E dit | P referencias. A m me gusta el diseo de la ventana Compact. Tambin puede elegir el tipo de letra utilizado en cada ventana, simplemente haga clic derecho y seleccionar la fuente desde el men contextual, y mi favorito, Lucida Console, est ahora

por defecto en Windows. Finalmente, es posible cambiar la combinacin de colores, la seleccin de siete estilos personalizados predefinidos o tres. Uno de los esquemas preestablecidos es clsico, el fondo negro tradicional utilizado en todas las versiones anteriores de Stata. Hay otras ventanas que vamos a discutir, segn sea necesario, a el Grfico , Visor , Administrador de variables ,Editor de datos, y hacer Editor de archivos . saber,

A partir de la versin 8 de Stata interfaz grfica de usuario (GUI) permite seleccionar comandos y opciones de un men y sistema de dilogo. Sin embargo, se recomienda utilizar el lenguaje de comandos como una manera de asegurar la reproducibilidad de los resultados. De hecho, le recomiendo que escriba sus comandos en un archivo separado, llamado archivo de do, como se explica en la Seccin 1.2 ms adelante, pero por ahora nos limitaremos a escribir en la ventana de comandos. La GUI puede ser til cuando se est empezando a aprender Stata, especialmente porque despus de apuntar y hacer clic en los mens y cuadros de dilogo, los tipos de Stata el comando correspondiente para usted. 1.1.2 Comandos de Mecanografa Stata puede funcionar como una calculadora mediante la di splay comando. Pruebe a escribir lo siguiente (sin incluir el punto en el comienzo de una lnea, que es como Stata marca las lneas que escribe): . mostrar 2 +2 4 . display 2 * ttail (20,2.1) .04861759 Comandos de Stata se distingue entre maysculas y minsculas, la pantalla no es lo mismo que la pantalla y el segundo ser no funciona. Los comandos tambin se pueden abreviar, la documentacin y ayuda en lnea subraya la abreviatura ms corta legal de cada comando y vamos a hacer lo mismo aqu. El segundo comando muestra el uso de una funcin integrada para calcular un valor de p, en este caso el doble de la probabilidad de que t de Student con 20 df excede 2,1. Este resultado slo hara que el punto de corte de 5%. Para encontrar el valor de dos colas crtico del 5% intenta pantalla invttail (20, 0,025) . Enumeramos algunas funciones que puedes usar en la Seccin 2. Si emite un comando y descubrir que no funciona, presione la tecla Re Pg para recordar (puede desplazarse por el historial de comandos con el Page Up y Page Down) y luego editarlo utilizando la flecha, insertar y borrar las claves , que funcionan exactamente como cabra esperar. Por ejemplo Flechas avanzar un carcter a la vez y Ctrl-Arrows avanzar en una palabra a la vez. ShiftArrows seleccionar un carcter a la vez y Shift + Ctrl + Flechas seleccionar una palabra a la vez, que luego se puede borrar o reemplazar. Un comando puede ser tan largo como sea necesario (hasta algunos personajes 64k), en una sesin interactiva que acaba de escribir y mantener en la ventana de comandos y vaya a envolver, segn sea necesario. 1.1.3 Obtencin de ayuda Stata cuenta con ayuda en lnea excelente. Para obtener ayuda sobre un comando (o funcin) Tipo de ayudacommand_name , que muestra la ayuda en una ventana separada llamada Viewer. (Tambin puede escribir chelpcommand_name , que muestra la ayuda en el Resultados ventana;., pero esto no es recomendable) O simplemente seleccione Ayuda |

Comando en el sistema de mens. Trate de ayudar ttail . (Desafortunadamente, las versiones 9 y posteriores abrir un nuevo visor cada vez que escriba help, y antes de que te des cuenta tienes docenas de ventanas que saturan su escritorio. Para evitar este tipo de problema el comando de ayuda en el propio espectador, o escribe , nonewen el final del comando de ayuda para ensear no para abrir una nueva ventana.) Si no conoce el nombre del comando que necesita puede buscarlo. Stata tiene una bsqueda de comandos con varias opciones, tipo de bsqueda ayuda a aprender ms, pero yo prefiero findit , que busca en la Internet, as como el equipo local y muestra los resultados en el visor . Trate de t de Student findit . Esto mostrar una lista de todos los comandos de Stata y funciones relacionadas con la distribucin t. Una de las entradas es "funciones", que te lleva a una tabla que incluye 'las funciones de densidad de probabilidad ", que te lleva a una larga lista de funciones, que incluyettail () . En el camino se ve que Stata tambin puede calcular las probabilidades de cola para el c normal, Una de las mejores caractersticas de Stata es que, a partir de la versin 11, toda la documentacin est disponible en formato PDF. Adems, estos archivos estn enlazadas desde la ayuda en lnea, as que usted puede ir directamente a la seccin correspondiente del manual. Para aprender ms sobre el sistema de ayuda tipo ayuda ayuda . 1.1.4 Carga de un archivo de datos de ejemplo Stata viene con algunos datos de muestra archivos. Usted aprender a leer sus propios datos en Stata en la Seccin 2 , pero por ahora vamos a cargar uno de los archivos de muestra, es decir, lifeexp.dta , que cuenta con datos sobre la esperanza de vida y el producto nacional bruto (PNB) per cpita en 1998 68 pases. Para ver una lista de los archivos enviados con Stata tipo sysuse dir . Para cargar el archivo que queremos tipo sysuse lifeexp (la extensin del archivo es opcional). Para ver lo que est en el tipo de archivo d escribe. (Este comando puede abreviarse como una sola letra, pero yo prefiero desc .) . sysuse lifeexp (Esperanza de vida, 1998) . desc Contiene los datos de C: \ Stata10 \ ado \ base / l / lifeexp.dta obs: 68 Esperanza de vida, 1998 vars: 6 26 de marzo 2007 09:40 Tamao: 2.924 (99,7% de memoria libre) (_dta tiene notas) -------------------------------------------------- ----------------------------archivo de datos de pantalla Tipo de variable de nombre de formato de etiqueta etiqueta de la variable -------------------------------------------------- ----------------------------byte regin Regin% 12,0 g regin str28 pas% 28s Pas POPGROWTH% float 9,0 g * AVG. % de crecimiento anual % LEXP byte 9,0 g * La esperanza de vida al nacer gnppc flotador% 9,0 g * PNB per cpita safewater byte% 9,0 g * * Variables indicadas tienen notas -------------------------------------------------- ----------------------------Ordenado por:

Vemos que tenemos seis variables. El conjunto de datos tiene notas que se puede ver escribiendo notas . Cuatro de las variables tienen anotaciones que se puede ver escribiendo notas varname . Usted aprender cmo aadir notas en la seccin 2 . 1.1.5 Estadstica Descriptiva Corramos simples estadsticas descriptivas para las dos variables que nos interesan, utilizando el Su mmarize comando seguido de los nombres de las variables (que pueden ser omitidos para resumir todo): . resumir LEXP gnppc Variable | Obs Media Desv. Dev. Min Max ------------- + ------------------------------------ -------------------LEXP | 68 72,27941 4,715315 54 79 gnppc | 63 8674.857 10,634.68 370 39 980 Vemos que los promedios de expectativa de vida 72,3 aos y el PNB per cpita oscila entre $ 370 a $ 39.980 con un promedio de 8.675 dlares. Tambin vemos que Stata reporta slo 63 observaciones sobre el PNB per cpita, por lo que debemos tener algunos valores perdidos. Vamos a enumerar los pases para los que faltan PNB per cpita: . lista gnppc pas si falta (gnppc) + -------------------------------------- + | Gnppc pas | | -------------------------------------- | 7. | Bosnia y Herzegovina. | 40. | Turkmenistn. | 44. | Yugoslavia, FR (Serbia / Montana.). | 46. | Cuba. | 56. | Puerto Rico. | + -------------------------------------- + Vemos que tenemos en realidad cinco valores que faltan. Este ejemplo ilustra una funcin potente de Stata: la accin de cualquier comando puede ser restringida a un subconjunto de los datos. Si hubiramos escrito gnppc lista de pasesque se han enumerado estas variables para los 68 pases. Adicin de la condicin si falta (gnppc) restringe la lista a los casos en gnppc falta. Tenga en cuenta que Stata enumera los valores que faltan mediante un punto. Vamos a aprender ms acerca de los valores que faltan en la Seccin 2 . 1.1.6 Dibujar un diagrama de dispersin Para ver como la esperanza de vida vara con el PNB per cpita vamos a dibujar un diagrama de dispersin utilizando elgrfico de comando, que tiene una gran cantidad de subcomandos y opciones, algunas de las cuales se describen en la Seccin 3 . . grfico de dispersin de dos vas LEXP gnppc

La grfica muestra una relacin curvilnea entre el PIB per cpita y la esperanza de vida. Vamos a ver si la relacin se puede linealizar tomando el logaritmo del PIB per cpita. 1.1.7 Informtica nuevas variables Se calcula una nueva variable con el g enerate comando con un nuevo nombre de variable y una expresin aritmtica.Elegir bien los nombres de variables es importante. Cuando me computacin registra por lo general slo el prefijo del nombre de la variable edad con 'log' o 'l', pero los nombres compuestos pueden convertirse fcilmente en crpticos y difciles de leer. Algunos programadores palabras separadas con un guin, como en log_gnp_pc, y otros prefieren la convencin de camello carcasa que aprovecha cada palabra despus de la primera: logGnpPc. Le sugiero que desarrollar un estilo consistente y se adhieren a ella. Etiquetas de variable tambin puede ayudar, como se describe en la Seccin 2 . Para calcular logaritmos naturales que utilizamos la funcin integrada de registro : . gen loggnppc = log (gnppc) (5 valores faltantes generados) Stata dice que ha generado cinco valores que faltan. Estos corresponden a los cinco pases para los que faltaban PNB per cpita. Trate de confirmar esta afirmacin con el comando lista. Vamos a aprender ms acerca de la generacin de nuevas variables en la seccin 2 . 1.1.8 Regresin Lineal Simple Ahora estamos listos para ejecutar una regresin lineal de la esperanza de vida en el registro del PNB per cpita. Vamos a utilizar el reg reso comando, que muestra el resultado seguido de los predictores (aqu slo una, loggnppc) . regresin LEXP loggnppc Fuente | SS df MS Nmero de obs = 63 ------------- + ------------------------------ F (1, 61) = 97,09

Modelo | 1 873.264865 873.264865 Prob> F = 0,0000 Residual | 61 8.99461709 548.671643 R-cuadrado = 0,6141 ------------- + ------------------------------ Adj R-cuadrado = 0,6078 Total | 62 1421.93651 22.9344598 Root MSE = 2.9991 -------------------------------------------------- ---------------------------LEXP | Coef. Std. Err. t P> | t | Conf [95%. Intervalo] ------------- + ------------------------------------ ---------------------------loggnppc | 2.768349 .2809566 9,85 0,000 2,206542 3,330157 _cons | 49,41502 2,348494 21,04 0,000 44,71892 54,11113 -------------------------------------------------- ---------------------------Tenga en cuenta que la regresin se basa en slo 63 observaciones. Stata omite observaciones que faltan en el resultado o en uno de los predictores. El registro del producto nacional bruto per cpita ", explica el" 61% de la variacin de la esperanza de vida en estos pases. Tambin vemos que un aumento de uno por ciento en el PIB per cpita se asocia con un aumento de 0,0278 aos en la esperanza de vida. (Para ver esta nota punto de que si el PNB aumenta en uno por ciento aumenta su registro de 0,01.) Despus de una regresin (o de hecho cualquier instruccin de estimacin), puede escribir el comando sin argumentos para ver los resultados de nuevo. Pruebe a escribir reg . 1.1.9 Estimacin Post-Comandos Stata tiene una serie de comandos de estimacin despus de que se basan en los resultados de un ajuste del modelo. Un comando til es predecir , que se puede utilizar para generar valores o residuos despus de una regresin. El comando . predecir plexp (Opcin xb asumido; valores ajustados) (5 valores faltantes generados) genera una nueva variable, plexp , que tiene la esperanza de vida predicha a partir de la ecuacin de regresin. No se hacen predicciones para los cinco pases que no tienen un PNB per cpita. (Si la esperanza de vida que faltaba para un pas que estaran excluidos de la regresin, pero una prediccin se hizo por ella. Esta tcnica se puede utilizar para rellenar los valores que faltan.) 1.1.10 Representacin de los datos y un ajuste lineal Una tarea comn es superponer una lnea de regresin en un diagrama de dispersin para inspeccionar la calidad del ajuste. Podemos hacer esto usando las predicciones que almacenados en plexp , pero Stata grfico comando sabe hacer ajustes lineales sobre la marcha usando el lfit tipo de grfico, y puede sobreponer diferentes tipos debidireccionales parcelas, como se explica con ms detalle en la Seccin 3 . Pruebe el comando . grfico de dos vas (Dispersin LEXP loggnppc) (lfit LEXP loggnppc)

En este comando cada expresin entre parntesis es una independiente de dos vas trama que se superpone en la misma grfica. El ajuste se ve razonablemente bueno, excepto para un valor atpico posible. 1.1.11 Listado de observaciones seleccionadas Es difcil no darse cuenta del pas en la parte inferior izquierda de la grfica, que tiene la esperanza de vida mucho menor de lo que cabra esperar, incluso teniendo en cuenta su bajo PIB per cpita. Para saber qu pas es que la lista (los nombres) de los pases en los que la esperanza de vida es inferior a 55: . lista de pases LEXP plexp si LEXP <55, limpio pas LEXP plexp 50. Hait 54 66.06985 Encontramos que el valor extremo es Hait, con una esperanza de vida 12 aos menor de lo que cabra esperar dado su PIB per cpita. (La palabra clave limpio despus de la coma es una opcin que omite las fronteras en el listado. Muchos comandos de Stata tiene opciones, y stas siempre se especifican despus de una coma.) Si usted es curioso en el que Estados Unidos es tratar de . lista gnppc loggnppc LEXP plexp si el pas == "Estados Unidos", limpia gnppc loggnppc LEXP plexp 58. 29240 10,28329 77 77,88277 Aqu la lista restringida a los casos en que el valor de la variable pas era "Estados Unidos". Ntese el uso de un doble signo igual en una expresin lgica. En Stata x = 2 asigna el valor 2 a la variable x, mientras que X == 2 comprueba si el valor de x es 2. 1.1.12 Stata Guardar su trabajo y salida

Para salir de Stata se utiliza la salida de comandos (o seleccione Archivo | Salir en el men, o pulse Alt-F4, como en la mayora de los programas de Windows). Si usted ha estado siguiendo a lo largo de este tutorial escribiendo los comandos y tratar de salir de Stata se niega, diciendo "no, los datos de la memoria se pierde". Esto sucede porque hemos aadido una nueva variable que no forma parte del conjunto de datos original, y no se ha guardado. Como se puede ver, Stata es muy cuidadoso para asegurarse de que no pierden el trabajo. Si no se preocupan por salvar todo lo que se puede escribir la salida, claro , que le dice Stata para dejar de no importa qu. Alternativamente, usted puede guardar los datos en el disco usando el ahorro de nombre de archivo de comandos, y luego salir. Un programador prudente ser siempre guardar un archivo modificado con un nuevo nombre. 1.2 Utilizacin de Stata con eficacia Si bien es divertido de escribir comandos interactivamente y ver los resultados inmediatamente, el trabajo serio requiere que guarde los resultados y realizar un seguimiento de los comandos que se han utilizado, por lo que se puede documentar su trabajo y reproducirla ms tarde si es necesario. He aqu algunas recomendaciones prcticas. 1.2.1 Creacin de un directorio de proyectos Stata lee y guarda los datos del directorio de trabajo, normalmente C: \ DATA , a menos que se especifique lo contrario.Puede cambiar el directorio con el comando cd [unidad:] directory_name , e imprimir el (nombre del) directorio de trabajo con personas con discapacidad , el tipo de CD de la ayuda para ms detalles. Le recomiendo que crear un directorio independiente para cada curso o proyecto de investigacin que est involucrado, y comenzar su sesin de Stata al cambiar a ese directorio. Stata entiende estructuras anidadas de directorio y no le importa si utiliza \ o / para directorios separados. Las versiones 9 y ms tarde tambin entienden la doble barra utilizado en Windows para referirse a un ordenador, para que pueda cd \ \ opr \ acciones \ \ Investigacin myProject para acceder a una carpeta de proyecto compartido. Un enfoque alternativo, que tambin funciona en versiones anteriores, es utilizar el Explorador de Windows para asignar una letra de unidad a la carpeta del proyecto, por ejemplo, asignar P: a \ \ \ opr acciones \ \ Investigacin myProject y luego en Stata uso cd t: . Alternativamente, usted puede asignar R: a \ \ opr \ acciones \ Investigacin y utilizar cd R: \ myProject , una solucin ms conveniente si usted trabaja en varios proyectos. Stata tiene otros comandos para interactuar con el sistema operativo, incluyendo mkdir para crear un directorio, dir para listar los nombres de los archivos en un directorio, escriba a la lista de su contenido, copia para copiar archivos yborrar para borrar un archivo. Usted puede (y probablemente debe) hacer estas tareas utilizando el sistema operativo directamente, pero los comandos de Stata puede venir bien si quieres escribir un programa para realizar tareas repetitivas. 1.2.2 Abrir un archivo de registro Hasta ahora todo nuestro rendimiento ha ido a la Resultados ventana, donde puede ser visto, pero desaparece con el tiempo. (Puede controlar hasta dnde puede desplazarse hacia atrs, escriba scrollbufsize ayudar a aprender ms.) Mantener un permanente registro de sus resultados, sin embargo, debe iniciar su sesin. Al abrir un registro, Stata escribe todos los resultados tanto al Resultados ventana y el archivo que especifique. Para abrir un archivo de registro utiliza el comando

iniciar con nombre de archivo , reemplazar texto donde nombre es el nombre de su archivo de registro. Tenga en cuenta el uso de dos opciones recomendadas: texto yreemplazar . Por defecto, el registro se escribe Visor . Afortunadamente, hay un texto opcin para crear registros en texto plano (ASCII), que se pueden ver en un editor como el Bloc de notas o un procesador de textos como Word. (Una alternativa es crear su SMCL registro en y luego usar el translate comando para convertirlo en texto plano, PostScript, PDF o incluso si usted es un usuario de Mac, escriba ayudar a traducir para saber ms sobre esta opcin.) El reemplazo opcin especifica que el archivo se va a sobrescribir si ya existe. A menudo, esto ser el caso si (como yo) que necesita para ejecutar sus comandos varias veces para hacerlo bien. De hecho, si una carrera anterior ha fallado, es probable que usted tenga un archivo de registro abierto, en cuyo caso el registro de comando fallar. La solucin es cerrar los registros abiertos con el cierre de registro de comandos. El problema con esta solucin es que no va a funcionar si no hay registro abierto! La salida de la captura 22 es utilizar capturar iniciar estrecha La captura palabra clave indica a Stata para ejecutar el comando que sigue y pasar por alto los errores. Utilice juiciosamente! 1.2.3 Usar siempre un archivo de Do Un archivo de do es slo un conjunto de comandos de Stata se escriben en un archivo de texto sin formato. Puede utilizar Stata propio sistema de do-Editor de archivos , que tiene la gran ventaja de que puede ejecutar el programa directamente desde el editor, haga clic en el icono de ejecucin o seleccionar T erramientas | R Naciones Unidas en el men. Tambin puede seleccionar slo unos pocos comandos y ejecutarlos mediante la seleccin de T erramientas | Ejecutar S eleccin en el men. Para tener acceso a Stata hacer uso editor Ctrl-9 en la versin 12 (Ctrl-8 en las versiones anteriores) o seleccione Ventana | Hacer-archivo del Editor | Nuevo Editor Hgalo archivo en el sistema de mens. Como alternativa, puede utilizar un editor como el Bloc de notas. Guarde el archivo con extensin . hacer y luego ejecutarlo con el comando hacerlo nombre de archivo . Para un anlisis a fondo de los editores de texto alternativo ver http://fmwww.bc.edu/repec/bocode/t/textEditors.html , una pgina mantenida por Nicholas J. Cox, de la Universidad de Durham. Incluso puede utilizar un procesador de textos como Word, pero usted tiene que acordarse de guardar el archivo en formato de texto plano, no en formato de documento de Word. Tambin, usted puede encontrar insistencia de Word en mayscula la primera palabra de cada lnea molesto cuando usted est tratando de escribir comandos de Stata que deben estar en minsculas. Usted puede, por supuesto, desactivar la opcin de corregir apagado. Pero es mucho ms fcil usar un editor de texto plano. 1.2.4 Comentarios de uso y anotaciones El cdigo que parece obvio para usted puede no ser tan evidente para un compaero de trabajo, o incluso que despus de unos meses. Siempre es una buena idea anotar los archivos ver con comentarios explicativos que proporcionan la esencia de lo que usted est tratando de hacer.

En la ventana de comandos de Stata se puede iniciar una lnea con un * para indicar que se trata de un comentario, no una orden. Esto puede ser til para anotar su salida. En un archivo do tambin puede utilizar dos tipos de comentarios: / / y / ** / / / se utiliza para indicar que todo lo que sigue al final de la lnea es un comentario y debe ser ignorado por Stata. Por ejemplo, usted podra escribir un gen = 1 / / esto servir como una constante en el modelo / ** / se usa para indicar que todo el texto entre la apertura / el cierre * y * /, que puede ser unos pocos caracteres o puede abarcar varias lneas, es un comentario a ser ignorado por Stata. Este tipo de comentario se puede utilizar en cualquier lugar, incluso en el medio de una lnea, y algunas veces se usa para "comentar" cdigo. Hay un tercer tipo de comentario utilizado para romper las lneas muy largas, como se explica en el siguiente apartado.Escriba comentarios ayudan a aprender ms acerca de los comentarios. Siempre es una buena idea comenzar cada archivo do con los comentarios que incluyan al menos un ttulo, el nombre del programador que escribi el archivo y la fecha. Los supuestos sobre los archivos necesarios tambin deben tenerse en cuenta. 1.2.5 Lneas de continuacin Cuando usted est escribiendo en la ventana de comandos de un comando puede ser tan largo como sea necesario. En un archivo de do-usted probablemente querr romper comandos largos en lneas para mejorar la legibilidad. Para indicar a Stata que un comando contina en la lnea siguiente se utiliza / / / , que dice que todo lo dems hasta el final de la lnea es un comentario y el propio comando contina en la lnea siguiente. Por ejemplo, usted podra escribir grfico de dos vas (Dispersin LEXP loggnppc) / / / (Lfit LEXP loggnppc) Quienes tienen ms experiencia puede escribir grfico de dos vas (Dispersin LEXP loggnppc) / * * / (Lfit LEXP loggnppc) que "Los comentarios fuera" el fin de la lnea. Una alternativa es decir Stata para utilizar un punto y coma en lugar del retorno de carro al final de la lnea para marcar el final de un comando, utilizando # delimitan; , como en este ejemplo: # Delimitan; grfico de dos vas (Dispersin LEXP loggnppc) (Lfit LEXP loggnppc);

Ahora todos los comandos deben terminar usar c arriage r eturn como el uso delimitador # Delimitan cr

con

un

punto

coma. Para

volver

El delimitador slo se puede cambiar en los archivos de Do. Pero entonces siempre utilizar los archivos, verdad? 1.2.6 Un ejemplo Archivo He aqu un simple archivo do que puede reproducir todos los resultados en nuestra Visita rpida , e ilustra el resaltado de sintaxis introducido en Stata hacer editor de archivos en la versin 11. El archivo no tiene muchos comentarios porque esta pgina tiene todos los detalles. Tras el anuncio se comentan un par de lneas que requieren explicacin. / / Un recorrido rpido de Stata / / German Rodriguez - Otoo 2011 versin 12 claro registro de captura cerca de iniciar el uso Repaso Rpido, reemplazar texto mostrar 2 +2 display 2 * ttail (20,2.1) / / Carga de datos de muestra e inspeccionar sysuse lifeexp desc resumir LEXP gnppc lista gnppc pas en caso de falta (gnppc) grfico de dispersin de dos vas LEXP gnppc, / / / ttulo (la esperanza de vida y PIB) xTitle (PIB per cpita) grfico exportacin scatter.png, anchura (400) reemplazar gen loggnppc = log (gnppc) regreso loggnppc LEXP predecir plexp grfico de dos vas (Dispersin LEXP loggnppc) (lfit LEXP loggnppc) / / / , Ttulo (la esperanza de vida y PIB) xTitle (log PIB per cpita) grfico exportacin fit.png, anchura (400) reemplazar Lista pas LEXP plexp si LEXP <55, limpio lista gnppc loggnppc LEXP plexp si el pas == "Estados Unidos", limpie iniciar cercano / / asegurarse de que usted pulse intro para la ltima lnea Comenzamos el archivo do especificando la versin de Stata que estamos usando, en este caso 12. Esto ayuda a asegurar que las futuras versiones de Stata seguirn interpretar los comandos correctamente, incluso si Stata ha cambiado, ver facilitar la versin para obtener ms informacin. (La versin anterior de este archivo ledo la versin 11, y podra haber dejado que en

/ / guardar el grfico en formato PNG

lugar de correr bajo el control de versiones, los resultados seran los mismos porque ninguno de los comandos que se utilizan en este rpido recorrido ha cambiado.) Las claras instruccin elimina los datos que actualmente mantiene en la memoria y las etiquetas de valor que pueda tener. La razn por la que necesitamos es que si tuviramos que volver a ejecutar el programa de la sysuse comando fallar porque ya tenemos un conjunto de datos en la memoria y no se ha guardado. Una alternativa con el mismo efecto, basta con escribir sysuse lifeexp, claro . (Stata mantiene otros objetos en memoria, as, como los resultados guardados, escalares y matrices, aunque no hemos tenido la oportunidad de utilizar estos todava. Escribiendo Borrar todo elimina los objetos de la memoria, para garantizar que puedas comenzar con una pizarra totalmente limpia. Verayudar a limpiar para ms informacin. Normalmente, sin embargo, lo nico que tienes que hacer es borrar los datos.) Tenga en cuenta tambin que utilicemos un grfico exportacin comando para convertir el grfico en la memoria de Portable Network Graphics (PNG), listo para su inclusin en una pgina web. Para incluir un grfico en un documento de Word que es mejor cortar y pegar un grfico en formato Windows Metafile, como se explica en la Seccin 3 . La nota en la ltima lnea es para recordarle que por defecto utiliza Stata el retorno de carro (invisible) al final de la lnea como delimitador de comando. Si no se pulsa retorno despus de la ltima lnea, la lnea entera suele ser ignorada por Stata. 1.2.7 Sintaxis de los comandos de Stata Despus de haber utilizado algunos comandos de Stata puede ser hora de hacer un breve comentario sobre su estructura, que por lo general sigue la sintaxis siguiente, donde en negrita indica las palabras clave y los corchetes indican elementos opcionales: [ por varlist : ] comando [ varlist ] [ = exp ] [ si exp ] [ en rango ] [ peso ] [ con nombre de archivo] [ , opciones ] A continuacin se describe cada elemento de sintaxis: comando : El nico elemento necesario es el propio comando, que es generalmente (pero no siempre) un verbo de accin, y es seguido a menudo por los nombres de una o ms variables. Comandos de Stata se distingue entre maysculas y minsculas. Los comandos de describir y describir son diferentes, y slo el primero va a funcionar. Comandos por lo general se puede abreviar como se seal anteriormente. Cuando se introduce un comando destacamos las cartas que se requieren. Por ejemplo reg reso indica que el retroceso comando puede abreviarse reg . varlist : El comando es seguido a menudo por los nombres de una o ms variables, por ejemplo, describir LEXP oretroceso LEXP loggnppc . Los nombres de variables son sensibles caso. LEXP y LEXP son variables diferentes.Un nombre de variable puede abreviarse como el nmero mnimo de letras que lo hace nico en un conjunto de datos. Por ejemplo, en nuestro recorrido rpido podramos referirnos a loggnppc como registro , ya que es la nica variable que empiece con esas tres letras, pero esto es una idea realmente mala. Las abreviaturas que son nicas pueden llegar a ser ambiguo al crear nuevas variables, as que tienes que tener mucho cuidado. Tambin puede utilizar comodines como * v o rangos de nombre, como v101 v105- para referirse a varias variables.Escriba varlist ayudar a Lear ms informacin acerca de las listas de variables. = Exp : Comandos utilizados para generar nuevas variables, tales como generar log_gnp = log (PNB) , son una expresin aritmtica, bsicamente, una frmula que utiliza los operadores

estndar (+ - * y / para las cuatro operaciones bsicas y de exponenciacin ^, por lo que 3 ^ 2 es tres al cuadrado), funciones y parntesis. Se discuten las expresiones en la Seccin 2. si exp y en serie : Como hemos visto, la accin de un comando puede ser restringido a un subconjunto de los datos por specifyinLEXP <55 . Los operadores relacionales son <, <=, ==,> = y>, y la negacin lgica se expresa utilizando ! o ~ , como veremos en la seccin 2 . Como alternativa, puede especificar un rango de los datos, por ejemplo en 1/10restringir la accin del comando a las primeras 10 observaciones. Escriba numlist ayudar a aprender ms acerca de las listas de nmeros. peso : Algunos comandos permiten el uso de pesas, escriba ayudar pesas para obtener ms informacin. utilizando nombre de archivo : La palabra clave utilizando introduce un nombre de archivo, lo que puede ser un archivo en el ordenador, en la red o en Internet, como se ver cuando se discute la introduccin de datos en la seccin 2 . opciones : La mayora de los comandos tienen opciones que se especifican despus de una coma. Para obtener una lista de las opciones disponibles con un comando de tipo Ayuda comando donde comando es el nombre del comando actual. por varlist : Una caracterstica muy potente, instruye Stata para repetir el comando para cada grupo de observaciones definidas por los distintos valores de las variables en la lista. Para que funcione el comando debe ser "byable" (como se indica en la ayuda en lnea) y los datos deben ser ordenados por la variable de agrupacin (s) (o utilice bysort lugar). Stata 1.3 Recursos Hay muchos recursos disponibles para aprender ms acerca de Stata, tanto en lnea como impresos. 1.3.1 Recursos en la Red Stata tiene un excelente sitio web en http://www.stata.com . Entre otras cosas, usted encontrar que ellos hacen para comprar barato en todos los conjuntos de datos utilizados en la documentacin oficial, que publican una revista llamada Stata Journal, y que tienen una librera excelente, con textos sobre temas relacionados con Stata y estadsticos. Stata tambin ofrece cursos de formacin y correo electrnico basado en web llamado NetCourses, consultehttp://www.stata.com/info/products/netcourse/ . Hay una lista de correo electrnico independiente mantenido por Marcello Pagano en la Escuela de Harvard de Salud Pblica, donde se pueden enviar preguntas y recibir respuestas prontas y bien de otros usuarios. (Muy a menudo desde el infatigable y muy bien Cox Nicols, que merece un reconocimiento especial por su servicio a la comunidad de usuarios.) Para obtener instrucciones detalladas sobre cmo unirse a la lista ver http://www.stata.com/support/statalist/ y Siga el enlace para suscribirse. Los mensajes se archivan por Stata, de la Universidad de Harvard y Yahoo. Stata tambin tiene una lista de preguntas ms frecuentes (FAQ) clasificados por tema, ver http://www.stata.com/support/faqs/ . UCLA mantiene un excelente portal en Stata http://www.ats.ucla.edu/stat/stata/ , con muchos enlaces tiles, incluyendo una lista de recursos para ayudarle a aprender y mantenerse al da con Stata. No te pierdas su kit de inicio, que incluye los "apuntes de clase con pelculas", un conjunto de materiales didcticos que combinan las notas de clase con las pelculas que se pueden ver en la web y sus enlaces por temas, lo que proporciona una gua de cmo hacerlo para tareas

comunes . Tambin hay mdulos de aprendizaje ms avanzadas, algunas de ellas con pelculas as, y comparaciones de Stata con otros paquetes como SAS y SPSS. 1.3.2 Manuales y Libros La documentacin de Stata ha ido creciendo con cada versin y ahora viene en un conjunto de 19 volmenes! La documentacin bsica se compone de un Manual de Base de cuatro volmenes de referencia, los volmenes por separado sobre gestin de datos y grficos, una Gua del usuario, una referencia rpida y el ndice, y Introduccin a Stata, que tiene especficas de la plataforma versiones para Windows, Macintosh y Unix. Algunos temas estadsticos que puedan ser importantes para usted, se describen en siete manuales separados, que trata de Longitudinal / panel de datos, estadsticas multivariantes, datos de encuestas, anlisis de supervivencia y los cuadros epidemiolgicos, series de tiempo, la imputacin mltiple y modelos de ecuaciones estructurales, que es nuevo para versin 12. Volmenes de inters para los programadores, en particular aquellos que tratan de ampliar las capacidades de Stata, son un volumen sobre la programacin y los volmenes de dos a Mata, el lenguaje de Stata matriz de programacin. El conjunto de documentacin completo cuesta $ 595. Tenga en cuenta, sin embargo, que a partir de la versin 11 de cada copia de Stata viene con todos los manuales en formato PDF. Algunos de los libros de Stata que particularmente me gustan son Sophia Rabe-Hesketh y Everitt Brian es un manual de anlisis estadsticos utilizando Stata (4 edicin), Lawrence Hamilton Estadstica con Stata (Actualizado para la versin 10), y Scott Long y Jeremy Freese de los modelos de regresin Para variables dependientes categricas con STATA (2 Edicin), actualizada tras el lanzamiento de la versin 8. Los tres libros incluyen tutoriales tiles introduccin de Stata. Seccin 2.10 del libro por Long y Freese es un conjunto de prcticas recomendadas que deben ser ledas y seguidas fielmente por todos los programadores Stata aspirante. Otro libro que me gusta es excelente Michael Mitchell Una Gua Visual de Grficos de Stata , que fue escrito especialmente para introducir los nuevos grficos en la versin 8 y ya va por su segunda edicin.Dos tiles (pero ms especializado) referencias escritas por los desarrolladores de Stata son una introduccin al anlisis de supervivencia utilizando Stata (3 edicin), de Mario Cleves, Gould Guillermo, Roberto Gutirrez y Marchenko Julia, y estimacin de mxima verosimilitud con Stata (4 edicin) por William Gould, Pitblado Jeffre 2. Gestin de datos En esta seccin se describen los archivos de datos de Stata, discutir cmo leer los datos en bruto en Stata en formatos libres y fijos, cmo crear nuevas variables, cmo documentar un conjunto de datos etiquetado de las variables y sus valores, y cmo manejar los archivos Stata sistema. Stata 11 tiene un gestor de nuevas variables que permite editar los nombres de variables, etiquetas, tipos, formatos y notas, as como las etiquetas de valor, mediante una interfaz grfica de usuario intuitiva disponible bajo D ata | V Gerente ariables en el sistema de mens. Mientras que el gerente es ciertamente conveniente, todava prefiero escribir todos los comandos en un archivo do para asegurar la reproducibilidad de investigacin. Una caracterstica interesante de la gerente, sin embargo, es que genera los comandos de Stata necesarios para lograr los cambios, por lo que se puede utilizar como una herramienta de aprendizaje y, siempre y cuando se est conectando la sesin, deja un registro detrs. Archivos Stata 2.1

Conjuntos de datos de Stata son matrices rectangulares con n observaciones de m variables. A diferencia de los paquetes que se lea una observacin a la vez, Stata mantiene todos los datos en la memoria, que es una de las razones por qu es tan rpido. Hay un lmite de 2.047 variables de Stata / IC, 32.767 en Stata / SE. Usted puede tener tantas observaciones como la memoria de su computadora lo permite, siempre y cuando no vaya demasiado lejos por encima de 2 millones de casos. (Para encontrar este tipo limita lmites de ayuda .) 2.1.1 Nombres de variables Los nombres de variables pueden tener hasta 32 caracteres, pero muchos comandos imprimir slo 12 aos, y nombres ms cortos son ms fciles de escribir. Nombres de Stata son maysculas y minsculas , edad y la edad son variables diferentes! Vale la pena desarrollar una convencin para nombrar variables y ajustarse a l. Yo prefiero cortas nombres en minscula y tienden a usar palabras o abreviaturas en lugar de los nombres de varias palabras, por ejemplo, prefieroesfuerzo o fpe a family_planning_effort o familyPlanningEffort, aunque los cuatro nombres son legales.Observe el uso de guiones o camello carcasa para separar palabras. 2.1.2 Tipos de variables Las variables pueden contener nmeros o cadenas. Las variables numricas se pueden almacenar como nmeros enteros (bytes, enteros o largos) o punto flotante (float o double). Estos tipos difieren en el alcance y precisin de los valores que pueden tratar, escriba ayudar a tipo de datos para obtener ms informacin. Por lo general, no es necesario preocuparse por el modo de almacenamiento; Stata hace todos los clculos utilizando dobles y la compresa comando encontrar la manera ms econmica de almacenar cada variable en el conjunto de datos, escriba ayudar a comprimir para obtener ms informacin. Usted no tiene que tener cuidado con las comparaciones lgicas que implican a tipos de punto flotante. Si almacena 0,1 en un flotador llamado x puede que se sorprenda al saber que x == 0.1 no es verdad. La razn es que 0,1 se "redondeado" a los nmeros binarios diferentes cuando se almacena como un flotador (x) o como un doble (la constante de 0,1). Este problema no se produce con nmeros enteros o cadenas. Las variables de cadena pueden tener diferentes longitudes de hasta 244 caracteres (versiones anteriores de Stata Intercooled permitido slo 80 caracteres). Las cadenas son ideales para las variables de identificacin, ya que pueden ser comparados sin problemas. A veces puede necesitar para convertir entre numrico y variables de cadena. Si una variable se ha ledo como una cadena, pero en realidad contiene los nmeros que tendr que usar el comando destring o la funcin real () . De lo contrario, puede utilizar codificacin para convertir los datos de cadena en una variable numrica o decodificar para convertir las variables numricas en cadenas. Estos comandos dependen de las etiquetas de valor, que se describen a continuacin. 2.1.3 Valores perdidos Al igual que otros paquetes estadsticos, Stata distingue faltan valores. El valor bsico que falta para las variables numricas se representa por un punto . partir de la versin 8 hay 26 adicionales valor faltante-denotadas por los cdigos. una a . z . Estos valores se representan internamente como nmeros muy grandes, por lo que valid_numbers <. <. A <... <. Z .

Para comprobar si faltan es necesario escribir var> =. (no var == .). Stata tiene una funcin que puede hacer esta comparacin, que falta ( varname ) y lo recomiendo porque conduce a la lectura del cdigo, por ejemplo, prefiero id lista si faltan (edad) a una lista de id if edad> =. Los valores perdidos para variables de cadena se indican con "", una cadena vaca, no se debe confundir con una cadena que es todos los espacios en blanco, como "". Los datos demogrficos de encuestas suelen utilizar cdigos como 88 para que no proceda y 99 para no comprobada . Por ejemplo, la edad de matrimonio se puede codificar 88 para las mujeres solteras y 99 para las mujeres que se sabe que se cas, pero no inform la edad al matrimonio. A menudo se desea distinguir estos dos casos utilizando diferentes tipos de cdigos de valores faltantes. Si quieres recodificar 88 a. N (por "na" o NotApplicable) y de 99 a. M (de "desaparecidos") puede utilizar el cdigo . reemplazar ageAtMar =. == n si ageAtMar 88 . reemplazar ageAtMar =. == m si ageAtMar 99 A veces quieres tabular una variable, incluyendo los valores perdidos, pero con exclusin de los casos no aplicables. Si usted va a hacer esto a menudo puede que prefiera dejar 99 como un cdigo de regular y definir slo 88 en lo que falta.Slo ten cuidado si a continuacin, ejecuta una regresin! Buques de Stata con una serie de pequeos conjuntos de datos, el tipo sysuse dir para obtener una lista. Puede utilizar cualquiera de estas escribiendo el nombre sysuse . El sitio web de Stata es tambin un repositorio para los conjuntos de datos utilizados en los manuales de Stata y en un nmero de libros estadsticos. 2.2 Datos lectura en Stata En esta seccin se discute cmo leer primas archivos de datos. Si los datos vienen de otro paquete estadstico, como SAS o SPSS, considere el uso de una herramienta como Stat / Transfer ( www.stattransfer.com ) o DBMSCopy (www.dataflux.com ). Stata puede leer archivos de transporte SAS con el fdause comando (llamado as porque es el formato requerido por la Administracin de Alimentos y Drogas), el tipo fdause ayuda . Stata tambin puede leer datos de bases de datos relacionales, escriba ayudar odbc para una introduccin. 2.2.1 Formato libre Si los datos estn en formato libre, con variables separadas por espacios en blanco, comas o tabulaciones, puede utilizar la inf ile de comandos. Para un ejemplo de un archivo de formato libre ver los datos de planificacin de la familia esfuerzo disponible en la web enhttp://data.princeton.edu/wws509/datasets (leer la descripcin y haga clic en effort.raw). Esto es esencialmente un archivo de texto con cuatro columnas, una con los nombres de pases y tres con variables numricas, separadas por espacios en blanco. Podemos leer los datos en Stata utilizando el comando . infile str14 campestre esfuerzo de cambio utilizando / / / > Http://data.princeton.edu/wws509/datasets/effort.raw La inf ile comando es seguido por los nombres de las variables. Debido a que el nombre del pas es una cadena en lugar de una variable numrica que preceden al nombre con str14 , que

establece el tipo de la variable como una cadena de hasta 14 caracteres. Todas las dems variables son numricas, que es el tipo predeterminado. La palabra clave utilizando es seguido por el nombre del archivo, que puede ser un archivo en su computadora, una red local o de Internet. En este ejemplo se lee el archivo directamente desde la web. Y eso es todo lo que hay que hacer. Para obtener ms informacin sobre este comando tipo infile1 ayuda . Para ver lo que tenemos podemos enumerar unos pocos casos . lista en 1/3 Paquetes de hojas de clculo como Excel a menudo exportar datos separados por tabulaciones o comas con una observacin por lnea. A veces, la primera lnea tiene los nombres de las variables. Si los datos estn en este formato se pueden leer mediante el insheet comando. Este comando es un poco ms simple que infile , pero desafortunadamente no funciona con valores separados por espacio en blanco. Escriba insheet ayudar a aprender ms. 2.2.2 Formato Fijo Los datos de encuestas a menudo vienen en formato fijo, con uno o ms registros por caso y cada variable en una posicin fija en cada registro. La forma ms sencilla de leer datos de formato fijo est utilizando el infijo comando para especificar las columnas que se encuentra cada variable. Como suele suceder, los datos de esfuerzo estn perfectamente alineados en columnas, por lo que podramos decir lo siguiente: pas infijo str 4-17 23-24 escenario esfuerzo 31-32 40-41 cambio utilizando / / / > Http://data.princeton.edu/wws509/datasets/effort.raw, claro Esto dice a leer el nombre del pas de las columnas 4-17, estableciendo a partir de las columnas 23-24, y as sucesivamente. Es, por supuesto, esencial para leer las columnas correctas. Se especific que pas era una variable de cadena, pero no tiene que especificar el ancho, lo que estaba claro por el hecho de que los datos estn en las columnas 4-17. La clara opcin se utiliza para sobrescribir el conjunto de datos existente en la memoria. Si usted tiene un gran nmero de variables que debe considerar escribir los nombres y la ubicacin de un archivo independiente, denominado dictionar y, que luego se puede llamar desde el infijo comando. Pruebe a escribir el siguiente diccionario en un archivo llamado effort.dct : infijo diccionario utilizando http://data.princeton.edu/wws509/datasets/effort.raw { str pas 4-17 estableciendo 23-24 esfuerzo 31-32 cambiar 40-41 } Diccionarios aceptar solamente * Comentarios y estos deben aparecer despus de la primera lnea. Despus de guardar este archivo puede leer los datos utilizando el comando . infijo con effort.dct, claro

Tenga en cuenta que ahora "utilizar" el diccionario, que a su vez 'usa' el archivo de datos. En lugar de especificar el nombre del archivo de datos en el diccionario que poda especificar como una opcin para el comando infijo, en la formainfija con dictionaryfile , utilizando ( archivo de datos ). La primera 'usando' especifica el diccionario y "utilizar" segunda es una opcin de especificar el archivo de datos. Esto es particularmente til si desea utilizar un diccionario para leer varios archivos de datos almacenados en el mismo formato. Si sus observaciones abarcan varios registros o lneas todava se pueden leer con infijo , siempre y cuando todas las observaciones tienen el mismo nmero de registros (no necesariamente todas de la misma anchura). Para obtener ms informacin, consulte ayudar infijo . El infile comando tambin se puede utilizar con formato fijo de datos y un diccionario. Este es un comando muy potente que te ofrece una serie de opciones que no estn disponibles con infijo , por ejemplo, le permite definir etiquetas de variable en el mismo diccionario, pero la sintaxis es un poco ms complicado. Ver infile2 ayudar . En la mayora de los casos usted encontrar que usted puede leer datos de formato libre con infile y fijas de formato de datos mediante infijo . Para obtener ms informacin sobre las ventajas y desventajas ver infiling ayudar . Los datos tambin se pueden introducir directamente en Stata utilizando la entrada de comandos, consulte la ayuda de entrada , o utilizando el built-in editor de Stata datos disponibles a travs de D ata | editor de datos en el sistema de mens. 2.3 Documentacin de Datos Despus de leer los datos en Stata es importante preparar alguna documentacin. En esta seccin veremos cmo crear conjunto de datos, variables y etiquetas de valor, y cmo crear notas para los datos o variables. 2.3.1 Etiqueta de Datos y Notas Stata permite etiquetar el conjunto de datos utilizando la etiqueta de datos comando seguido de una etiqueta de hasta 80 caracteres (244 en Stata SE). Tambin puede agregar notas de hasta ~ 64K caracteres cada una utilizando elnotas comando seguido de dos puntos y luego el texto: . etiquetas de datos "planificacin familiar" Esfuerzo de datos . Notas: Fuente PW Mauldin y B. Berelson (1978). / / / > Condiciones de descenso de la fecundidad en los pases en desarrollo, 1965-1975. / / / > Estudios de Planificacin Familiar, 9:89-147 Los usuarios de los datos se pueden escribir notas para ver su anotacin. La documentacin de los datos con cuidado siempre vale la pena. 2.3.2 Las etiquetas de variable y Notas Usted puede (y debe) etiquetar las variables a travs de la variable de etiquetas de comando seguido del nombre de la variable y una etiqueta de hasta 80 caracteres encerrados entre comillas. Con el infile comando puedes aadir estas etiquetas al diccionario, que es un hogar natural para ellos. De lo contrario, debe preparar un archivo do con todas las etiquetas. As es como para definir las etiquetas para las tres variables en nuestra base de datos:

. variable de ajuste etiqueta "Ajuste Social" . etiqueta de esfuerzo variable "Planificacin Familiar Esfuerzo" . variable de etiquetas de cambio "Fertilidad Cambio" Stata tambin te permite aadir notas a las variables especficas utilizando el comando notas varname : texto .Tenga en cuenta que el comando es seguido por un nombre de variable y luego dos puntos: . Notas change: Porcentaje disminucin de la tasa bruta de natalidad (TBN)-el nmero de / / / > Nacimientos por cada mil habitantes-entre 1965 y 1975. Escriba describir y luego seala a revisar nuestro trabajo hasta ahora. 2.3.3 Etiquetas de valor Tambin puede etiquetar los valores de las variables categricas. Nuestra base de datos no tiene variables categricas, pero vamos a crear uno. Vamos a hacer una copia de la variable esfuerzo de planificacin familiar y de grupo en tres categoras, 0-4, 5-15 y + 15, que representan programas dbiles, moderadas y fuertes (el generar y recodificarutilizado en las dos primeras lneas son se describe en la siguiente seccin, en la que tambin muestran cmo llevar a cabo todos estos pasos con un solo comando): . . . . recode etiquetar valores generar effortg definir 0/4 effortg de effortg = 1 la 1 5/14 "dbil" 2 etiqueta = = 2 = esfuerzo 3 3 15/max "fuerte" effortg

"Moderado"

effortg

. variable de etiqueta effortg "Esfuerzo de Planificacin Familiar (Divisin)" Stata tiene un enfoque en dos etapas para definir las etiquetas. En primer lugar se define un conjunto de etiquetas con nombre que asocia cdigos enteros con etiquetas de hasta 80 caracteres (244 en Stata SE), utilizando la etiqueta de definir comandos. A continuacin, se asocia el conjunto de etiquetas con una variable, utilizando la etiqueta de valores de comandos. A menudo se utiliza el mismo nombre para el conjunto de etiquetas y la variable, como lo hicimos en nuestro ejemplo. Una ventaja de este enfoque es que se puede utilizar el mismo conjunto de etiquetas para varias variables. El ejemplo cannico es definir yesno etiqueta 1 "si" 0 "no" , el cual puede estar asociado con todos los variables 0-1 del conjunto de datos, utilizando un comando de la forma etiqueta valores nombredevariable yesno para cada uno. En la definicin de las etiquetas se pueden omitir las comillas si la etiqueta es una sola palabra, pero yo prefiero usar siempre para mayor claridad. Conjuntos de etiquetas se pueden modificar mediante las opciones de agregar o modificar , listadas con etiqueta dir (slo se muestran los nombres) o lista de etiquetas (nombres de listas y etiquetas), y se guarda en un archivo con etiqueta de salvar . Escriba etiqueta ayuda a aprender ms acerca de estas opciones y comandos. Tambin puede hacer que las etiquetas en varios idiomas, como se explica a continuacin. 2.3.4 Las etiquetas multilinges *

(Esta subseccin se pueden omitir sin prdida de continuidad.) Un archivo de Stata puede almacenar etiquetas en varios idiomas y se puede mover libremente de un conjunto a otro. Vamos a ilustrar la idea de la creacin de etiquetas de espaol para nuestro conjunto de datos. Siguiendo las recomendaciones de Stata se utilizar el estndar ISO de dos letras de los cdigos lingsticos, cuarto de Ingls y es para los espaoles. Primero usamos lenguaje etiqueta para cambiar el nombre del idioma actual es , y para crear un lenguaje nuevo conjunto es : . etiqueta en idioma, cambiar el nombre . etiqueta lenguaje es, nuevo Si escribe desc ahora usted descubrir que nuestras variables no tienen etiquetas! Podramos haber copiado los ingleses mediante la opcin de copia , pero eso no nos salvara cualquier trabajo en este caso. Aqu hay versiones en espaol de los datos y etiquetas de variable: . datos de la etiqueta "Datos de Mauldin y Berelson Sobre Planificacion Familiar" . etiqueta de la variable pas "Pas" . etiqueta de ajuste variable "Indice de Desarrollo Social" . esfuerzo etiqueta de la variable "Esfuerzo en Planificacion Familiar" . effortg etiqueta de la variable "Esfuerzo en Planificacion Familiar (Agrupado)" . etiqueta de la variable cambio "Cambio en la Tasa Bruta de Natalidad (%)" Estas definiciones no sobreescribir las etiquetas correspondientes en ingls, sino que coexisten con ellos en un universo paralelo espaoles. Con las etiquetas de valor tiene que ser un poco ms cuidadoso, sin embargo, no se puede simplemente volver a definir el conjunto de etiquetas llamado effortg porque es slo la asociacin entre una variable y un conjunto de etiquetas y no las propias etiquetas, que se almacena en un Definir idioma. Lo que hay que hacer es definir un conjunto nuevo sello, wel'll llaman effortg_es , combinando el nombre antiguo y el nuevo cdigo de idioma, y luego asociarlo con la variable effortg : . etiquetar definir effortg_es 1 "Debil" 2 "Moderado" 3 "Fuerte" . valores de la etiqueta effortg effortg_es Es posible que desee probar el describir mando ahora. Trate de tabulacin de esfuerzo: . mesa effortg A continuacin se cambia el idioma de nuevo al ingls y ejecute de nuevo la tabla: . etiqueta en idioma . mesa effortg Una de las limitaciones de compatibilidad con idiomas multi-idioma en Stata es que las etiquetas estn restringidos a los caracteres ASCII de 7-bits, por lo que no se puede incluir letras con signos diacrticos, como los acentos. Para obtener ms informacin sobre el tipo label_language ayuda. 2.4 Creacin de nuevas variables

Los comandos de Stata ms importantes para la creacin de nuevas variables son generar / reemplazar yrecodificar , y que a menudo se utilizan juntos. 2.4.1 Generar y reemplazar El gen eRate comando crea una nueva variable con una expresin que puede combinar constantes, variables, funciones y operadores aritmticos y lgicos. Empecemos con un ejemplo sencillo: aqu es cmo crear establecimiento cuadrado: . gen settingsq = ajuste ^ 2. Si usted va a utilizar este trmino en una regresin usted sabe que los trminos lineales y cuadrticos estn altamente correlacionados. Puede ser una buena idea para centrar la variable (restando la media) antes de elevarlo al cuadrado.Aqu nos encontramos resumir utilizando tranquilamente para suprimir la salida y recuperar la media del resultado almacenado r (media) : . tranquilamente resumir la creacin

. gen settingcsq = (ajuste - r (media)) ^ 2 Tenga en cuenta que he usado un nombre diferente para esta variable. Stata no le permitir sobreescribir una variable existente utilizando generan. Si usted realmente quiere reemplazar los valores de la variable de uso antiguo reemplazarsu lugar. Tambin puede utilizar la gota var_names a caer una o ms variables del conjunto de datos. 2.4.2 Operadores y expresiones La siguiente tabla muestra las medias aritmticas estndar, los operadores lgicos y relacionales que usted puede usar en expresiones: Aritmtica + Aadir - Restar * Multiplicar / Divisin ^ Subir al poder + Concatenacin de cadenas Lgico ! no (tambin ~) |O &Y Relacional == Igual ! = No igual (tambin ~ =) <Menor que <= Menor o igual > Mayor que > = Mayor o igual

He aqu cmo crear una variable de indicador para los pases con programas de alto esfuerzo: . generar hieffort esfuerzo => 14 Se trata de un lenguaje comn Stata, aprovechando el hecho de que las expresiones lgicas toman el valor 1 si es verdadero y 0 si es falso. Una alternativa comn es escribir . generar hieffort2 = 0

. reemplazar hieffort2 = 1 si el esfuerzo> 14

Las dos estrategias obtener exactamente la misma respuesta. Ambos se equivocan si hay valores faltantes, los cuales sern codificados como alto esfuerzo porque faltan cdigos de valores son valores muy grandes, como se seala en la Seccin 2.1. Usted debe desarrollar un buen hbito de evitar comparaciones abiertas terminado. Mi enfoque preferido es utilizar . generar hieffort3 esfuerzo => 14 si! que falta (esfuerzo) que da cierto para esfuerzo por encima de 14, por falsa esfuerzo inferior o igual a 14, y cuando el esfuerzo de falta no se encuentra. Las expresiones lgicas pueden combinarse usando y por "y", o | para la "o". He aqu cmo crear una variable de indicador del esfuerzo entre 5 y 14: . gen effort5to14 = (esfuerzo> = 5 & esfuerzo <= 14) Aqu no tiene que preocuparse acerca de los valores que faltan, que son excluidos por la clusula esfuerzo <= 14. 2.4.3 Funciones Stata cuenta con un gran nmero de funciones, aqu estn algunas de uso frecuente funciones matemticas, escribaayudar mathfun para ver una lista completa: abs (x) exp (x) int (x) ln (x) o log (x) log10 (x) logit (x) max (x1, x2, ..., xn) min (x1, x2, ..., xn) round (x) sqrt (x) el valor absoluto de x la funcin exponencial de x el entero obtenido por x truncar hacia cero el logaritmo natural de x si x> 0 el logaritmo en base 10 de x (para x> 0) el logaritmo de la probabilidad para x probabilidad: logit (x) = ln (x / (1-x)) el mximo de x1, x2, ..., xn, haciendo caso omiso de los valores perdidos el mnimo de x1, x2, ..., xn, haciendo caso omiso de los valores perdidos x redondeado al nmero entero ms cercano la raz cuadrada de x si x> = 0

Estas funciones se aplican automticamente a todas las observaciones cuando el argumento es una variable en el conjunto de datos. Stata tambin tiene una funcin para generar nmeros aleatorios (usadas en la simulacin), es decir, uniforme () .Tambin cuenta con un amplio conjunto de funciones para calcular las distribuciones de probabilidad (necesarios para los valores de p) y sus inversas (necesarios para los valores crticos), incluyendo normal () para la cdf normal y invnormal () por su inverso, consulte ayudar funciones de densidad de ms informacin. Para simular las observaciones distribucin normal se pueden utilizar . Rnormal () / / o invnormal (uniforme ()) Hay tambin algunas funciones especializadas para trabajar con cadenas, consulte ayudar funciones de cadena , y con fechas, vea ayudar funciones de fecha . 2.4.4 Recodificacin de variables

El comando recode se utiliza para agrupar una variable numrica en categoras. Supongamos, por ejemplo, una encuesta de fecundidad tiene la edad en aos para las mujeres solteras de entre 15 y 49 aos, y que le gustara que el cdigo en grupos de edad de 5 aos. Usted puede, por supuesto, usar algo como . gen age5 = int ((edad-15) / 5) +1 si! que falta (edad) pero esto slo funciona para los intervalos regularmente espaciados (y es un poco crptico). El mismo resultado se puede obtener utilizando . edad recode (15/19 = 1) (20/24 = 2) (25/29 = 3) (30/34 = 4) / / / (35/39 = 5) (40/44 = 6) (45/49 = 7), gen (age5) Cada expresin entre parntesis es una regla de recodificacin, y consisten en una lista o rango de valores, seguido por un signo igual y un nuevo valor. Un rango, se especifica usando una barra, incluye los dos lmites, por lo que 15/19 es de 15 a 19, que tambin podra ser especificada como 15 16 17 18 19 15 16 o incluso 17/19. Puede utilizar min para referirse al valor ms pequeo y max para referirse al valor mayor, como en min/19 y 44/max . Los parntesis pueden omitirse cuando el Estado tiene el rango de forma = valor, pero por lo general ayudan a hacer que el comando sea ms legible. Los valores se asignan a la primera categora donde caen. Los valores que nunca se asignan a una categora se mantienen como estn. Se puede utilizar otro (o *) como la ltima clusula para referirse a cualquier valor an no asignado. Alternativamente, puede utilizar desaparecido y no perdidos para referirse a sin asignar valores perdidos y no perdidos, los cuales deben ser las dos ltimas clusulas y no se puede combinar con otra cosa. En nuestro ejemplo tambin se utiliza el gen () opcin para generar una nueva variable, en este caso age5, el valor por defecto es reemplazar los valores de la variable existente. Recomiendo encarecidamente que utilice siempre lageneracin de opcin o hacer una copia de la variable original antes de volver a codificar la misma. Tambin puede especificar etiquetas de valor en cada regla de recodificacin. Este es el error ms simple y menos propenso que la creacin de las etiquetas en un comunicado. La opcin de etiqueta (l abel_name ) le permite asignar un nombre a las etiquetas creadas (por defecto es el mismo que el nombre de la variable). He aqu un ejemplo que muestra cmo recodificar y esfuerzo etiqueta de planificacin familiar en un solo paso (comparar con los cuatro comandos que se utilizan en la seccin 2.4.2 anterior). . esfuerzo recode (0/4 = 1 Dbil) (5/14 = 2 Moderada) (15/max = 3 Fuerte) / / / >, Generate (efffortg) etiqueta (effortg) A menudo es una buena idea para tabulaciones cruzadas variables originales y recodificado para comprobar que la transformacin ha funcionado como se esperaba. (Por supuesto, esto slo puede hacerse si se ha generado una nueva variable!) 2.5 Gestin de archivos Stata Una vez que haya creado un sistema de archivos Stata tendr que guardarlo en el disco usando guardar nombre de archivo , sustituya , cuando la opcin de sustitucin, como siempre, slo es necesario si el archivo ya existe. Para cargar un archivo de Stata ha guardado en una sesin anterior se emite el comando uso del archivo .

Si hay variables temporales que no es necesario en el archivo guardado se puede caer (antes de guardarla) con cada de nombres de variables . Como alternativa, puede especificar las variables que desea guardar, utilizando mantenervarname s . Con archivos de gran tamao es posible que desee comprimir ellos antes de guardar; este comando analiza los datos y los almacena cada variable en el tipo de datos ms pequeo posible que no se traducir en la prdida de precisin. Es posible aadir variables u observaciones a un archivo de Stata. Para agregar las variables que utiliza la combinacincommmand, que requiere dos (o ms) archivos Stata, generalmente con un identificador comn para las observaciones pueden ser emparejados correctamente. Una aplicacin tpica es para aadir informacin del hogar, a un archivo de datos individual. Escriba ayudar a unir para aprender ms. Para aadir observaciones a un archivo se utiliza la agregacin de comandos, que requiere que los datos se aadirn a estar en un archivo de Stata, que normalmente contiene las mismas variables que el conjunto de datos en la memoria.Usted puede, por ejemplo, tienen datos de los pacientes en una clnica y lo desea, puede aadir datos similares de otra clnica. Escriba ayudar a aadir a aprender ms. Un comando relacionado, pero ms especializado es joinby , que forma todas las combinaciones de pares de observaciones en la memoria con las observaciones en un conjunto de datos externa (vase tambin la cruz ). 3. Stata Grficos Stata cuenta con excelentes instalaciones grficas, accesibles a travs del grfico de comandos, consulte ayuda grfica para una visin general. Los grficos ms comunes en las estadsticas son trazados XY que muestran puntos o lneas. Estos estn disponibles en Stata por medio de la twoway subcomando, que a su vez cuenta con 31 sub-subcomandos o tipos de trama, las ms importantes son la dispersin y lnea . Tambin vamos a describir brevemente las parcelas de barras, disponible a travs de la barra subcomando, y otros tipos de trazado. Stata 10 introducido un editor de grficos que se pueden utilizar para modificar una grfica interactiva. No recomiendo esta prctica, sin embargo, porque entra en conflicto con los objetivos de documentar y asegurar la reproducibilidad de todos los pasos en su investigacin. 3.1 Diagramas de dispersin En esta seccin vamos a ilustrar unas pocas parcelas que utilizan los datos de disminucin de la fecundidad usados por primera vez en la Seccin 2.1. Para leer los datos de red consciente tipo Stata infile str14 campestre esfuerzo de cambio / / / utilizando http://data.princeton.edu/wws509/datasets/effort.raw Para abrir el apetito, aqu est la trama que se va a producir en esta seccin:

3.1.1 Un diagrama de dispersin simple Para producir un diagrama de dispersin simple de cambio de la fecundidad por entorno social se utiliza el comando grfico de dispersin de dos vas de cambio de ajuste Tenga en cuenta que usted especifique y, luego x. Stata etiqueta los ejes con las etiquetas de variable, si se definen o nombres de variables si no. El comando se puede abreviar como dispersin de dos vas , o simplemente dispersinsi es que la trama slo en el grfico. Ahora vamos a aadir algunas campanas y silbatos. 3.1.2 Lneas Empotrados Supongamos que queremos mostrar la lnea de regresin ajustada tambin. En algunos paquetes que le necesita para ejecutar una regresin, calcule la lnea de ajuste, y luego trazar la misma. Stata puede hacer todo eso en un solo paso utilizando la lfit tipo de grfico. (Hay tambin un qfit parcela para ajustes cuadrticos.) Esto se puede combinar con el diagrama de dispersin encerrando cada subparcela entre parntesis. (Tambin se puede combinar parcelas con dos barras horizontales | |., Pero me parece el mtodo ms claro el uso de parntesis) grfico de dos vas (esfuerzo dispersin valor) / / / (Esfuerzo lfit ajuste) Ahora supongamos que quera poner bandas de confianza alrededor de la lnea de regresin. Stata puede hacer esto con el lfitci tipo de trama, que seala a la regin de confianza como una banda gris. (Hay tambin un qfitci banda para los ajustes cuadrticos.) Debido a que la banda de confianza pueden ocultar algunos puntos que llaman la primera regin y los puntos que ms tarde

grfico de dos vas (esfuerzo lfitci valor) / / / (Esfuerzo dispersin de ajuste) Tenga en cuenta que este comando no etiqueta el eje y pero utiliza una leyenda en su lugar. Usted puede especificar una etiqueta para el eje y utilizando el ytitle () opcin, y omitir la leyenda (algo obvio) con leyenda (off) . Aqu se especifica tanto como opciones para el twoway comando. Para hacer que la opcin ms evidente para el lector que poner la coma en el inicio de una nueva lnea: grfico de dos vas (esfuerzo lfitci valor) / / / (Esfuerzo dispersin configuracin) / / / , Ytitle ("descenso de la fecundidad") leyenda (off) 3.1.3 Puntos de etiquetado Hay muchas opciones que le permiten controlar los marcadores usados para los puntos, incluyendo su forma y color, consulte la ayuda marker_options . Tambin es posible marcar los puntos utilizando texto incluido en otra variable, usando el mlabel ( varname ) opcin. En el siguiente paso se suman los nombres de pases a la parcela: grfico de dos vas (ajuste lfitci cambio) / / / (Ajuste de dispersin cambio, mlabel (pas)) Un pequeo problema con las etiquetas es la superposicin de Costa Rica y Trinidad y Tobago (y en menor medida Panam y Nicaragua). Podemos resolver este problema mediante la especificacin de la posicin de la etiqueta en relacin con el marcador usando un reloj de 12horas (de modo 12 est arriba, es 3 a la derecha, est por debajo de 6 y 9 est a la izquierda) y la opcin mlabv () . Creamos una variable para almacenar la posicin fijada por defecto a las 3 y luego pasar a Costa Rica las 9 y Tobago Trinidad a slo un poco por encima de las 11 horas (tambin podemos mover Nicaragua y Panam hasta un poco, digamos a 2 horas): generacin pos = 3 reemplazar pos = 11 si los pases == "TrinidadTobago" reemplazar pos = 9 si el pas == "CostaRica" reemplazar pos = 2 si el pas == "Panam" | == pas "Nicaragua" El grfico a continuacin, se ve de la siguiente manera grfico de dos vas (ajuste lfitci cambio) / / / (Ajuste de dispersin cambio, mlabel (pas) mlabv (pos)) 3.1.4 Los ttulos, leyendas y ttulos Hay opciones que se aplican a todas las grficas de dos vas, incluyendo ttulos, etiquetas y leyendas. Grficas de Stata puede tener un ttulo () y subttulo (), por lo general en la parte superior, y una leyenda () , nota () y ttulo () , por lo general en la parte inferior, escriba title_options ayudar a aprender ms. Por lo general, un ttulo es todo lo que necesita. Stata 11 permite que el texto en grficos para incluir negritas, cursivas, las letras griegas, smbolos matemticos, y una seleccin de tipos de letra, tipo de texto grfico ayuda a aprender ms. Nuestro ltimo truco en el grfico ser agregar una leyenda para especificar el ajuste lineal y el 95% intervalo de confianza, pero no la fertilidad en s declinar. Hacemos esto con el fin de (2 "lineal ajuste" 1 "95% CI") opcin de la leyenda para marcar el segundo y el primero en ese orden. Tambin utilizamos anillo (0) para mover la leyenda dentro del rea de trazado, y pos

(5) para colocar el cuadro de la leyenda, cerca de la posicin de las 5. Nuestro comando completo es entonces grfico de dos vas (ajuste lfitci cambio) / / / (Ajuste de dispersin cambio, mlabel (pas) mlabv (pos)) / / / , Ttulo ("descenso de la fecundidad por Entorno Social") / / / ytitle ("descenso de la fecundidad") / / / leyenda (anillo (0) pos (5) orden (2 "lineal ajuste" 1 "IC del 95%")) El resultado es el grfico que se muestra al comienzo de esta seccin. (Si el grfico se ve un poco diferente es probablemente porque hemos utilizado diferentes esquemas de color. Us una versin personalizada de s2color . Consulte 3.2.5 para obtener ms informacin sobre los esquemas.) 3.1.5 Escalas del Eje y etiquetas Hay varias opciones que controlan la escala y el rango de los ejes, incluyendo XScale () y yscale () , que puede ser aritmtica, registro, o se invierte, escriba axis_scale_options ayudar a obtener ms informacin. Otras opciones de controlar la colocacin y el etiquetado de las marcas mayores y menores y las etiquetas, como por ejemplo como xlabel () , XTICK () y xmtick () , y lo mismo para el eje y, ver axis_label_options ayudar . Por lo general, los valores predeterminados son aceptables, pero es bueno saber que usted puede cambiarlos. 3,2 trazos de lnea Voy a ilustrar trazos de lnea a partir de datos sobre la esperanza de vida de EE.UU., disponible como uno de los conjuntos de datos enviados con Stata. (Trate sysuse dir para ver qu ms est disponible.) sysuse uslifeexp La idea es trazar la esperanza de vida para los hombres blancos y negro durante el siglo 20. Una vez ms, para abrir el apetito Voy a empezar por mostrar que el producto final, y luego vamos a construir el grfico poco a poco.

5.2.1 Un esquema lineal simple La forma ms sencilla trama utiliza todos los valores predeterminados: grfico twoway lnea le_wmale aos le_bmale Si usted est confundido por la cada antes de 1920, Google "EE.UU. la esperanza de vida 1918". Podemos abreviar la orden de lnea de dos vas , o incluso la lnea si eso es todo lo que estn tramando. (Este mtodo abreviado slo funciona para dispersin y lnea ). La lnea de trama permite especificar ms de una "y" variable, el orden es y 1 , y 2 , ..., y m , x. En nuestro ejemplo hemos especificado dos, que corresponde a la esperanza de vida blanco y negro. Como alternativa, podramos haber utilizado dos trazos de lnea: (line le_wmale aos) (aos le_bmale lnea) . 5.2.2 Ttulos y Leyendas El grfico por defecto es bastante bueno, pero la leyenda parece demasiado prolijo. Vamos a pasar la mayor parte de la informacin que el ttulo y mantener la etnicidad slo en la leyenda: grfico twoway lnea le_wmale le_bmale ao / / / , Ttulo ("Esperanza de vida de EE.UU.") subttulo ("Hombres") / / / leyenda (orden (1 "blanco" 2 "negro")) Aqu hemos utilizado tres opciones, que como es habitual en Stata van despus de una coma: ttulo , subttulo yleyenda . La leyenda opcin tiene muchas opciones sub, hemos utilizado el

fin de enumerar las claves y sus etiquetas, diciendo que la primera lnea representa los blancos y los negros segundos. Para omitir la clave que acaba de dejar fuera de la lista. Para aadir texto sin una clave coincidente utilizar un guin (o el signo menos) para la clave. Hay muchas opciones de leyenda otras aplicaciones, vea legend_option ayudar a aprender ms. Nos gustara utilizar el espacio un poco mejor moviendo la leyenda dentro del rea de trazado, por ejemplo en torno a la posicin de las 5, en la mejora de la esperanza de vida ha dejado algo de espacio libre. Como se seal anteriormente, podemos mover la leyenda dentro del rea de trazado mediante el uso de anillo (0) , el "crculo interno", y colocarlo cerca de las 5 en punto con pos (5) . Debido a que estos son leyenda sub-opciones que tienen que ir dentro de la leyenda () : grfico twoway lnea le_wmale le_bmale ao / / / , Ttulo ("Esperanza de vida de EE.UU.") subttulo ("Hombres") / / / leyenda (orden (1 "blanco" 2 "negro") anillo (0) pos (5)) 5.2.3 Estilos de lnea Yo no s ustedes, pero me resulta difcil distinguir las lneas de omisin en la trama. Stata permite controlar el estilo de lnea de diferentes maneras. El clstyle () opcin le permite usar un estilo con nombre, como primer plano , red ,yxline o p1-p15 para los estilos utilizados por las lneas 1 a 15, ver lineStyle ayudar . Esto es til si usted quiere recoger sus elementos de estilo a partir de un esquema , como se seala ms adelante. Como alternativa, puede especificar los tres componentes de un estilo: el patrn de lnea, ancho y color: Los patrones se especifica mediante el clpattern () opcin. Los patrones ms comunes son slidos , guin , ypunto , vase linepatternstyle ayuda para ms informacin. Ancho de lnease especifica mediante clwidth () , las opciones son delgadas , medianas y gruesas , consulte h elp linewidthstyle ms. disponibles

Los colores se pueden especificar mediante la clcolor () opcin con nombres de colores (como el rojo , blancoy azul , verde azulado , sienna , y muchos otros) o los valores RGB, consulte la ayuda colorstyle .

As es como se especifica azul y rojo para los blancos de los negros: grfico de dos vas (lnea le_wmale aos le_bmale, clcolor (azul rojo)) / / / , Ttulo ("Esperanza de vida de EE.UU.") subttulo ("Hombres") / / / leyenda (orden (1 "blanco" 2 "negro") anillo (0) pos (5)) Tenga en cuenta que clcolor () es una opcin de la trama de lnea, por lo que poner parntesis alrededor de la lneade comandos y la meti all. 5.2.4 Opciones de escala Parece como si las mejoras en la esperanza de vida disminuy un poco en la segunda mitad del siglo. Esto puede apreciarse mejor utilizando una escala logartmica, donde una lnea recta indicara una mejora constante por ciento. Esto se hace fcilmente utilizando las opciones del comando de eje de doble sentido, vase ayudar axis_options , y en particular yscale () , que le

permite elegir la aritmtica , registro , o invertidos escalas. Tambin hay una subopcin range () para controlar el rango de trazado. Aqu voy a especificar el alcance y el 25 y 80 para mover la curva un poco hacia arriba: grfico de dos vas (lnea le_wmale aos le_bmale, clcolor (azul rojo)) / / / , Ttulo ("Esperanza de vida de EE.UU.") subttulo ("Hombres") / / / leyenda (orden (1 "blanco" 2 "negro") anillo (0) pos (5)) / / / yscale (log rango (25 80)) 3.2.5 Esquemas Grfico Stata utiliza esquemas para controlar el aspecto de los grficos, consulte la ayuda esquema . Puede establecer el esquema por defecto que se utilizar en todos los grafos con conjunto scheme_name . Tambin puede volver a mostrar el grfico (ltima) con un esquema diferente con display grfico, esquema ( scheme_name ). Para ver una lista de los planes disponibles tipo de consultas grfico, esquemas. Trate s2color para los grficos de pantalla, s1manual para el estilo utilizado en los manuales de Stata y economista por el estilo utilizado en The Economist. Utilizando esta ltima se obtiene la grfica que se muestra al inicio de esta seccin. grfico de pantalla, esquema (economista) 3.3 Gestin de los grficos Stata realiza un seguimiento del ltimo grfico que ha dibujado, que se almacena en la memoria, y lo califica de "Grfico".En realidad se puede mantener ms de un grfico en la memoria si se utiliza el nombre ( ) la opcin de nombrar el grfico cuando lo cree. Esto es til para combinar grficos, tipo grfico ayudar a combinar para obtener ms informacin.Tenga en cuenta que los grficos guardados en la memoria desaparecen al salir de Stata, incluso si guarda los datos, a menos que guarde la misma grfica. Para guardar el grfico actual en el disco con el formato propio de Stata, el tipo de grfico guardar nombre de archivo . Este comando tiene dos opciones, sustituir , que tiene que utilizar si el archivo ya existe, y asis , que congela el grfico (incluyendo su actual estilo) y luego lo guarda. El valor predeterminado es guardar el grfico en un formato en vivo que se puede editar en sesiones futuras, por ejemplo cambiando el esquema. Despus de guardar un grfico en formato Stata se puede cargar desde el disco con el comando uso grfico de nombre de archivo . (Tenga en cuenta que guardar el grfico y el uso de grfica son anlogos a ahorrar y utilizar los archivos Stata.) Cualquier grfico almacenado en la memoria se pueden visualizar con display grfico . (Tambin puede enumerar, describir, renombrar, copiar o grficos gota almacenados en la memoria, escriba graph_manipulation ayudar a aprender ms.) Si tiene previsto incorporar el grfico en otro documento en el que probablemente tendr que guardarlo en un formato ms porttil. Stata comando grfico exportacin nombre de archivo puede exportar el grfico utilizando una amplia variedad de formatos vectoriales o raster, que normalmente se entiende a partir de la extensin de archivo. Vectorformatos tales como Windows Metafile (WMF o EMF) o PostScript de Adobe y sus variantes (PS, EPS, pdf) contienen instrucciones esencialmente de dibujo y por tanto son independientes de la resolucin, por lo que es mejor para su inclusin en otros documentos en los que pueden cambiar de tamao. raster formatos como Portable Network Graphics (PNG) guardar la imagen pxel a pxel con la resolucin de pantalla actual, y son los mejores para su inclusin en las pginas web.

Tambin puede imprimir un grfico con impresin grfica , o copiar y pegarlo en un documento utilizando el portapapeles de Windows, para ello haga clic derecho en la ventana que contiene el grfico a continuacin, seleccione Copiar en el men contextual. 4. Programacin Stata Esta seccin es una introduccin suave a la programacin de Stata. Se discuten las macros y bucles , y mostrar cmo escribir sus propios (simples) programas. Este es un tema muy amplio y todo lo que podemos esperar hacer aqu es dar un par de consejos que esperamos despertar su inters en el estudio. Sin embargo, el material de cubierta le ayudar a utilizar Stata con mayor eficacia. Stata 9 introdujo un nuevo lenguaje de programacin de matriz y muy potente llamado Mata . Esto ampla las herramientas del programador mucho ms all de las herramientas de sustitucin de macro discutidos aqu, pero Mata es un tema que merece un tratamiento aparte. Sus esfuerzos aqu no ser en vano, sin embargo, porque Mata es complementario y no un sustituto completo para, clsico programacin Stata. Para obtener ms informacin acerca de la programacin Stata usted debe leer el captulo 18 de la Gua del usuario y, a continuacin se refieren a la programacin de volumen y / o la ayuda en lnea si es necesario. Columnas regulares Nick Cox en el Stata Journal es un recurso maravilloso para aprender acerca de Stata. Otros recursos se enumeran en la Seccin 1 de este tutorial. 4.1 Macros Una macro es simplemente un nombre asociado a un texto. Las macros pueden ser locales o globales en su alcance. 4.1.1 Almacenamiento del texto en las macros locales Macros locales tienen nombres de hasta 31 caracteres y se conocen slo en el contexto actual (la consola, un archivo do, o un programa). Se define una macro local con nombre local [=] texto y evaluar usando `nombre ' . (Ntese el uso de una tilde o marca izquierda.) La primera variante, sin un signo igual, se utiliza para almacenar texto arbitrario de hasta ~ 64 k caracteres (hasta un milln en Stata SE). El texto est a menudo entre comillas, pero no tiene que ser. Ejemplo: Variables de control en la regresin. Tiene que ejecutar un montn de ecuaciones de regresin que incluyen un conjunto estndar de variables de control, por ejemplo la edad , agesq , la educacin y los ingresos . Usted puede, por supuesto, escribir estos nombres en cada ecuacin, ya que podra cortar y pegar los nombres, pero estas alternativas son tediosos y propensos a errores. La forma inteligente es definir una macro controles de edad local agesq educacin ingresos A continuacin, escribir comandos, tales como

retroceder los resultados del tratamiento `control ' que en este caso es exactamente lo mismo que escribir el resultado regresin tratamiento edad agesq renta educacin . Si slo hay una regresin a ejecutar no ha guardado nada, pero si tienes que correr varios modelos con diferentes resultados o tratamientos, la macro guarda el trabajo y garantiza la coherencia. Este enfoque tambin tiene la ventaja de que si ms adelante su asesor insiste en que debera haber usado registro de ingresos en vez del ingreso como control, todo lo que tiene que hacer es cambiar la definicin de la macro en la parte superior de su archivo de do, por ejemplo para leer logincome en lugar de los ingresos y todos los modelos posteriores se llevar a cabo con los ingresos debidamente registrado (suponiendo que estas variables existen). Advertencia : Evaluacin de una macro que no existe no es un error, sino que slo devuelve una cadena vaca. As que ten cuidado de escribir correctamente los nombres de macro. Si escribe una regresin resultado del tratamiento contrls `' , Stata leer el resultado del tratamiento retroceso , porque la macro contrls no existe. Lo mismo sucedera si se escribe `control ' porque los nombres de macro no puede ser la forma abreviada nombres de las variables pueden. De cualquier manera, la regresin se ejecutar sin ningn control. Pero siempre verificar su salida, no? Ejemplo: Gestin de variables ficticias Supongamos que usted est trabajando con una encuesta demogrfica donde la edad se ha agrupado en grupos de cinco aos y acaba de ser representados por siete muecos, digamos age15to19 a age45to49 , seis de los cuales sern utilizados en sus regresiones. Definir una macro edad local "age20to24 age25to29 age30to34 age35to39 age40to44 age45to49" y luego en sus modelos de regresin usar algo como regresin ceb 'edad' urbano que no slo es ms corto y ms legible, pero tambin ms cerca de lo que piensa, lo que es volver ceb en "edad", que pasa a ser un montn de dummies. Esto tambin hace que sea ms fcil cambiar la representacin de la edad, y si ms adelante decide utilizar trminos lineales y cuadrticos en lugar de los seis muecos de todo lo que hacemos es definir local, la edad "edad agesq" y vuelva a ejecutar sus modelos. Tenga en cuenta que la primera aparicin de edadaqu es el nombre de la macro y la segunda es el nombre de una variable. He utilizado las comillas para hacer el cdigo ms claro. Stata nunca se confunde. Nota sobre macros anidadas. Si una macro macro incluye evaluaciones, stas se resuelven en el momento de crear la macro no, cuando se evala. Por ejemplo, si define los controles locales 'edad' educacin ingresos . Stata ve que incluye edad y sustituye el valor actual de la edad . Cambiar el contenido de la macro edad en un momento posterior no cambia el contenido de los macro controles . Hay, sin embargo, una manera de lograr ese efecto particular. El truco consiste en escapar de la evaluacin de carcter macro cuando se define la macro, escriba controles locales \ 'edad'

educacin ingresos . Ahora Stata no evala la macro (pero se come el carcter de escape), por lo que el contenido de los controles se convierte en 'edad' educacin ingresos . Cuando el control de macro se evala, Stata ve que incluye la macro de edad y sustitutos de su contenido actual. En caso de que una sustitucin se produce cuando la macro se define, en la otra cuando se evala. 4.1.2 Memorizacin de los resultados en macros locales El segundo tipo de definicin macro text = nombre local , con un signo igual se utiliza para almacenar los resultados .Se instruye a Stata para tratar el texto en el lado derecho como una expresin, evaluar y almacenar una representacin de texto del resultado con el nombre dado. Supongamos que usted acaba de ejecutar una regresin y desea almacenar la resultante Rcuadrado, para la comparacin con una regresin despus. Usted sabe que retroceder tiendas Rcuadrado en e (r2) , por lo que creolocales e rsq (r2) que hacer el truco. Pero no lo hace. La macro almacenada la frmula e (r2) , como se puede ver escribiendo pantalla "` rsq '" . Lo que usted necesita para almacenar era el valor. La solucin es escribir locales RSQ = e (r2) , con un signo igual. Esto hace que Stata para evaluar la expresin y almacenar el resultado. Para ver la diferencia probar este sysuse auto, claro regresin peso mpg locales e rsqf (r2) locales rsqv = e (r2) di `rsqf '/ / esto tiene la actual R-cuadrado di `rsqv '/ / como lo hace regresin mpg peso extranjera di `rsqf '/ / La frmula tiene el nuevo R-cuadrado di `rsqv '/ / este chico tiene el viejo Otra forma de evaluacin de la fuerza es encerrar e (r2) entre comillas simples cuando se define la macro. Esto se llama una expresin de macro , y tambin es til cuando se desea mostrar los resultados. Nos permite escribir pantalla "R-cuadrado =` rsqv " en lugar de la pantalla "R-cuadrado =" `rsq ' . (Qu crees que pasara si escribepantalla "`` rsqf''" ?) Una forma alternativa de almacenar los resultados para su uso posterior es usar escalares (tipo escalares de ayudapara obtener ms informacin.) Esto tiene la ventaja de que Stata almacena el resultado en formato binario sin prdida de precisin. Una macro almacena una representacin de texto que es bueno slo para unos 8 dgitos. La desventaja es que son escalares en el espacio de nombres global, por lo que hay un potencial de conflictos de nombres, en particular en los programas (a menos que utilice nombres temporales, las cuales hablaremos ms adelante). Usted puede utilizar el signo igual cuando se estn almacenando texto, pero permtanme decir por qu esto no es siempre una buena idea. Podramos haber dicho control local = "edad de ingreso agesq educacin" y esto habra funcionado. Ntese el uso de citas para asegurarse de que el lado derecho es una expresin, en este caso una cadena. Y ah est el problema: Las cadenas se limitan a 244 caracteres (antes era 80 en Stata intercooler antes 9,1), mientras que el texto de la macro puede ser mucho ms largo que se ha sealado (Tipo lmites de ayuda que se le recuerde).

4.1.3 Distribucin del teclado con macros globales Macros globales tienen nombres de hasta 32 caracteres y, como su nombre lo indica, tienen un alcance global. Se define una macro global utilizando el nombre global [=] texto y evaluar usando $ name . (Puede que tenga que utilizar $ {nombre} para aclarar que el nombre termina.) Le sugiero que evitar macros globales debido a la posibilidad de conflictos de nombres. Una aplicacin til, sin embargo, consiste en asignar las teclas de funcin del teclado. Si usted trabaja en una carpeta de red compartida con un nombre muy largo intentar algo como esto mundial F5 \ \ servidor \ compartido \ Investigacin \ proyecto \ subproyecto \ Entonces, cuando usted presiona F5 Stata sustituir el nombre completo. Y sus do archivos se pueden utilizar comandos como hacer $ {F5} dofile . (Tenemos las llaves para indicar que la macro se llama F5 , no F5dofile .) Obviamente, usted no desea escribir esta macro cada vez que utilice Stata. Solucin? Entrar en ella en su profile.doarchivo, un conjunto de comandos que se ejecuta cada vez que se ejecuta Stata. Su perfil se conservan mejor en la puesta en marcha de Stata directorio, normalmente C: \ data . Escriba profilew ayuda a aprender ms. 4.1.4 Ms sobre Macros Las macros tambin se pueden utilizar para obtener y almacenar informacin sobre el sistema o las variables del conjunto de datos con funciones ampliadas macro . Por ejemplo, usted puede recuperar etiquetas de variable y de valor, una caracterstica que puede venir a mano en la programacin. Tambin hay comandos para administrar tu coleccin de macro y macro gota . Escriba ayuda macro para aprender ms. 4,2 Looping Los bucles se utilizan para realizar tareas repetitivas. Stata tiene comandos que permiten recorrer secuencias de nmeros y varios tipos de listas, incluidas las listas de variables. Antes de empezar, sin embargo, no hay que olvidar que Stata hace un montn de bucle por s mismo. Si desea calcular el logaritmo de los ingresos, puede hacer que en Stata con una sola lnea: gen logincome = log (ingreso) Esta bucles implcitamente sobre todas las observaciones, calcular el logaritmo de cada ingreso, en lo que a veces se llama una vectorizado operacin. Usted podra codificar el mismo circuito, pero no porque si (i) no es necesario, y (ii) el cdigo ser mucho ms lento que Stata incorporado el lazo. 4.2.1 recorrer secuencias de nmeros macros, incluyendo lista

El comando de bucle bsico toma la forma forvalues nmero de secuencia = { ... cuerpo del bucle usando `nmero '... } Aqu forvalues es una palabra clave, el nmero es el nombre de una macro local que se ajustar a cada nmero en la secuencia, y la secuencia es un rango de valores que pueden tener la forma min / max para indicar una secuencia de nmeros de min a max en pasos de uno, por ejemplo 1/3 los rendimientos de 1, 2 y 3, o primero (paso) el pasado que produce una secuencia de primero a durar en pasos de tamao de paso . Por ejemplo 15 (5) 50 rendimientos 15,20,25,30,35,40,45 y 50.

(Hay otras dos maneras de especificar el segundo tipo de secuencia, pero me parece la que aparece aqu la ms clara, consulte ayudar forvalues para las alternativas.) La llave de apertura izquierda debe ser la ltima cosa en la primera lnea (aparte de comentarios), y el bucle debe ser cerrada por un cors a juego a la derecha en una lnea por s mismo. El bucle se ejecuta una vez para cada valor de la secuencia con la macro local de nmero (o como se llama) que contiene el valor. Creacin de variables ficticias Esta es mi forma favorita de crear variables ficticias para representar grupos de edad. Usted puede, por supuesto, el grupo de edad en intervalos de cinco aos y luego usar tabulage AGEG, gen (AGEG) tener Stata generar los maniques, pero rpido, cul es ageg3 ? Aqu hay una alternativa que conduce a mejores nombres de variables: forvalues bot = 20 (5) 45 { superior local = 'bot' + 4 Gen edad `bot'to` top '= edad> =' bot 'y edad <= `top' } Esto crear variables ficticias age20to24 a age45to49 . (Por cierto age25to29 es el mismo que ageg3 . que es ms claro?) La forma del bucle funciona es que el macro local de bot tomar valores entre 20 y 45 en pasos de 5 (por lo tanto, 20, 25, 30, 35, 40, y 45), los lmites inferiores de los grupos de edad. Dentro del bucle se crea una macro locales top para representar los lmites superiores de los grupos de edad, lo que equivale al lmite ms bajo ms 4. La primera vez a travs del bucle bot es 20, por lo que la parte superior es de 24.Nosotros usamos un signo igual para almacenar el resultado de sumar 4 al bot . La siguiente lnea es una simple declaracin generate. La primera vez a travs del bucle de la lnea dir gen age20to24 = edad> = 20 y edad <= 24 , como se puede ver al hacer la sustitucin de macros ti mismo. Esto crear el maniqu primero, y luego Stata volver a la parte superior para crear el siguiente. 4.2.2 recorrer elementos de una lista

El comando de bucle segundo foreach y est disponible en seis sabores, que trata de los diferentes tipos de listas. Voy a comenzar con la lista genrica: foreach artculo a-lista-de-cosas { ... cuerpo del bucle usando `item '... } Aqu foreach es una palabra clave, artculo es un nombre de macro local de su propia eleccin, en otra palabra clave, y lo que viene despus es una lista de palabras separadas por espacio en blanco. Pruebe este ejemplo foreach animal en perros y gatos { mostrar "` animal '" } Este bucle se imprimir "gatos", "y" y "perros", ya que la macro local de animales est establecido en cada una de las palabras de la lista. Stata no sabe "y" no es un animal, pero incluso si lo hiciera, no le importara porque la lista es genrica. Si queras un bucle sobre una secuencia irregular de los nmeros por ejemplo que tena que hacer algo con las tablas de Coale-Demeny regionales vida modelo para los niveles 2, 6 y 12 - se puede escribir foreach nivel 2 6 12 { ... hacer algo con 'nivel' ... } Eso es todo. Esto es probablemente todo lo que necesita saber acerca de bucle. 4.2.3 recorrer listas especializadas Stata cuenta con cinco otras variantes del foreach que iterar sobre tipos especficos de listas que ahora describen brevemente. Las listas de variables Tal vez el ms til es la variante foreach varname de varlist lista-de-variables { ... cuerpo del bucle usando `varname '... } Aqu foreach , de y varlist son palabras claves, y se debe escribir exactamente como son. Los de lista de las variables es slo eso, una lista de los actuales nombres de las variables se escriben utilizando las convenciones estndar de Stata, para que pueda abreviar los nombres (a su propio riesgo), utilice * var para referirse a todas las variables que comienzan con "var", o Tipo var1var3 para referirse a las variables var1 a var3 .

Las ventajas de este lazo sobre el genrico equivalente varname foreach en lista-de-variables es que los controles de Stata que cada nombre en la lista es en realidad un nombre de variable existente y le permite abreviar o ampliar los nombres. Si usted necesita un bucle sobre nuevo frente a actuales variables de uso de foreach varname newlist lista-de-new-variables . El newlist palabra clave reemplaza varlist y le dice a Stata para comprobar que todos los elementos de la lista son nombres legales de las variables que no existen ya. Las palabras en Macros Dos variantes otro lazo con las palabras de una macro local o global, sino que utiliza la palabra clave mundial o local,seguido de un nombre de macro (en lugar de una lista). Por ejemplo, he aqu una manera de listar las variables de control de la seccin sobre macros locales: foreach control de mando local { mostrar "` control '" } Es de suponer que iba a hacer algo ms interesante que simplemente una lista de los nombres de variables. Debido a que estamos recorrer las variables del conjunto de datos que podra haber logrado el mismo fin mediante foreach con unalista de variables , aqu se guarda la comprobacin. Las listas de nmeros Stata tambin tiene un foreach variante que se especializa en las listas de nmeros (o numlists en Stataspeak) que no pueden ser manejados con forvalues . Supongamos que una encuesta tena una lnea de base en 1980 y sus actualizaciones, en 1985 y 1995. (En realidad plane una encuesta realizada en 1990, pero no fue financiada.) Para iterar sobre ellos se puede utilizar foreach ao de numlist 1980 1985 1995 { mostrar "` El ao '" } Por supuesto que iba a hacer algo ms interesante que simplemente imprimir los aos. El numlist podra ser especificada como 1 2 3 , o 1/5 (es decir, 1 2 3 4 5), o 1 (2) 7 (cuenta de 1 a 7 en pasos de 2 para obtener 1 3 5 7); tipo numlist ayuda para ms ejemplos. La ventaja de este comando sobre el genrico foreach es que Stata se compruebe que cada uno de los elementos de la lista de nmeros es de hecho un nmero. 4.2.4 Looping para un bien En comn con muchos lenguajes de programacin, Stata tambin tiene un tiempo de bucle, que tiene la estructura siguiente mientras la condicin {

... hacer algo ... } donde la condicin es una expresin. El bucle se ejecuta mientras la condicin es verdadera (distinta de cero). Por lo general, algo que sucede dentro del bucle para que la condicin falsa, de lo contrario el cdigo se ejecutara para siempre. Un uso tpico de tiempo en los procedimientos de estimacin iterativo, en el que pueden circular mientras que la diferencia en las estimaciones sucesivas puedan ser superiores a la tolerancia predefinida. Por lo general, un nmero de iteraciones se utiliza para detectar la falta de convergencia. La continue [, break] comando permite salir de cualquier circuito, incluyendo mientras que , forvalues y foreach .El comando detiene la iteracin actual y contina con el siguiente, a menos descanso se especifica en cuyo caso se sale del bucle. 4.2.5 Ejecucin condicional Stata tambin tiene una si el comando de programacin, que no debe confundirse con la si calificador que se puede utilizar para restringir cualquier comando a un subconjunto de los datos, como en resumir mpg si exterior . El casocomando tiene la siguiente estructura si la expresin { ... comandos que se ejecutan si la expresin es verdadera ... } else { ... bloque opcional que se ejecuta si la expresin es falsa ... } Aqu si las opcionales ms son palabras claves, tipo exp ayuda para una explicacin de las expresiones. La llave de apertura { debe ser lo ltimo en una lnea (aparte de comentarios) y la llave de cierre } debe estar en una lnea nueva por s mismo. Si el caso o ms piezas constan de un comando nico que puede ir en la misma lnea sin tirantes, como en el caso de comando expresin . Pero si la expresin {command} no es legal. Usted podra utilizar las llaves al difundir el cdigo en tres lneas, y esto a menudo mejora la legibilidad del cdigo. As que aqu tenemos un lazo tonto donde salir despus de cinco de los diez posibles iteraciones: forvalues iter = 1/10 { mostrar "` iter '" si 'iter'> = 5 continuar, romper } Y con eso, partimos de bucle. 4.3 Comandos de Escritores Pasamos ahora a la tarea de la diversin de escribir sus propios comandos de Stata. Seguir a lo largo como se desarrolla un par de sencillos programas, uno para firmar su salida, y otro para

valorar la lista modelo Coale-McNeil nupcialidad, por lo que puede crear un grfico de la siguiente manera:

4.3.1 Programas sin argumentos Vamos a desarrollar un comando que ayuda a etiquetar su salida con su nombre y direccin de correo electrnico. (Por lo general, usted quiere una marca de tiempo, pero que ya est disponible en la parte superior de su archivo de registro. Siempre registrar su salida, no?) La forma ms fcil desarrollar un comando es comenzar con un do de archivos. Arranca do-archivo de Stata editor (Ctrl-8) y escriba: capturar signo programa gota programa define signo versin 9.1 mostrar como texto Rodriguez "alemn " mostrar "{txt} {hline 62}" final Eso es todo. Si ahora escribe signo Stata mostrar la firma con el estilo de texto (generalmente de color verde en la pantalla). La gota programa declaracin es necesaria en caso de realizar cambios y volver a ejecutar el archivo de do, porque no se puede definir un programa existente La captura es necesaria la primera vez, cuando no hay nada para bajar. La versin declaracin dice que este mandato se ha desarrollado para la versin 9.1 de Stata, y ayuda a las futuras versiones de Stata se ejecuta correctamente, incluso si la sintaxis ha cambiado en el nterin.

La ltima lnea se utiliza un poco de SMCL, pronunciado "smickle" y la abreviatura de Stata Lenguaje de marcado de Control, que es el nombre del procesador de salida de Stata. SMCL utiliza texto sin formato combinado con comandos entre llaves. Por ejemplo {txt} establece el modo de visualizacin de texto, y hline {62} dibuja una regla horizontal exactamente 62 caracteres de ancho. Para obtener ms informacin acerca de SMCL tipo SMCL ayuda . 4.3.2 Un programa con un argumento Para que los programas tiles que a menudo tendr que pasar la informacin a ellos, en forma de "argumentos" se escribe despus del comando. Vamos a escribir un comando que se hace eco de lo que dices capturar eco programa gota definir el programa de eco versin 9.1 mostrar como texto "` 0 '" final Pruebe a escribir Programacin eco Stata Tutorial para ver qu pasa. Cuando se llama a un comando de Stata almacena los argumentos en una macro local llamado 0 . Nosotros usamos un comando de pantalla con `0 ' para evaluar la macro. El resultado es un texto, por lo que encerrarlo entre comillas.(Suponga que ha escrito echo Hola , por lo que la macro locales 0 tiene Hola , el comando sera el siguiente display Hola y Stata se quejan, diciendo 'Hola not found' Queremos que el comando para leer. mostrar "Hi" , es por ello que el cdigo de visualizacin "` 0 '" .) Si no se especifica nada, la macro local, 0 ser una cadena vaca, el comando leer mostrar "" y Stata se imprimir una lnea en blanco. 4.3.3 Cotizaciones compuestos Antes de salir a celebrar que tenemos que arreglar un pequeo problema con nuestro nuevo comando. Pruebe a escribir echo La suerte "final" de ejecucin. Stata se quejar. Por qu? Porque despus de la sustitucin de macros el comando de visualizacin lo ms importante va a leer mostrar "La suerte" final "run" El problema es que la cita se cierra antes de final de la cita inicial, por lo que Stata ve esto es como "La suerte",seguido de final "run" , que se parece a Stata como un nombre no vlido. Es evidente que necesitamos una manera de distinguir las citas interiores y exteriores. Por cierto, usted puede ver exactamente donde las cosas se fueron al sur, escriba trace en conjunto y ejecutar el comando. Se puede ver en (a menudo dolorosa) detalle todos los pasos Stata atraviesa, incluyendo todas las sustituciones de macro. No te olvides de escribir set trace off cuando haya terminado. Escriba ayudar a rastrear a aprender ms. La solucin a nuestro problema? Stata comillas Dobles mixto : `" para abrir y "' para cerrar, como en `" comillas "compuestos" . Debido a que los smbolos de apertura y cierre son diferentes estas citas se pueden anidar. Citas compuestas

Puede ser utilizado en cualquier lugar una comilla doble se utiliza. debe ser utilizado si el texto que se cita incluye comillas dobles.

As que nuestro programa debe mostrar `" `0 '"' . Aqu est la versin final. definir el programa de eco versin 9.1 si `" `0 '"'! = "" pantalla como texto `" `0 '"' final Te dars cuenta de que me deshice de la cada de lnea de captura . Esto se debe a que ahora estamos listos para guardar el programa como un trmite archivo. Escriba sysdir para averiguar cul es su directorio personal ado es, a continuacin, guarde el archivo all con el nombre echo.ado . El comando estar disponible siempre que utilice Stata. (Como nota al pie, usted quiere asegurarse de que no hay ningn funcionario de comandos Stata llamado eco . Para ello he escrito que echo . Stata respondi "comando no encontrado eco, ya sea integrado o prembulos de archivos". Por supuesto, hay no hay garanta de que no va a escribir uno, Stata se reserva todas las palabras inglesas). 4.3.4 Argumentos posicionales Adems de almacenar todos los argumentos juntos en local macro 0 , Stata analiza los argumentos (con un espacio en blanco como delimitador) y almacena todas las palabras que encuentra en macros locales 1 , 2 , 3 , etc Normalmente, usted hara algo con `1 ' y luego pasar a la siguiente. El comando de cambio de mac es muy til a continuacin, ya que desplaza todos los macros abajo por uno, por lo que el contenido de 2 se encuentra ahora en 1 , y 3es en 2 , y as sucesivamente. De esta manera usted siempre trabajar con lo que hay en uno y reducir la marcha. Cuando se agote la lista 1 est vaca y ya est. As que aqu est el programa cannico que enumera sus argumentos capturar eco programa gota definir el programa de eco versin 9.1 mientras que "` 1 '"! =" "{ mostrar `" `1 '"' mac cambio } final No se olvide del cambio de mac , de lo contrario el programa puede correr para siempre. (O hasta que se pulsa la tecla pausa.) Trate de hacerse eco de un dos tres pruebas . Ahora intenta hacerse eco de un "dos o tres" cuatro .Observe cmo se puede agrupar palabras en un solo argumento mediante el uso de comillas.

Este mtodo es til, ya veces uno se puede dar los argumentos de los nombres ms reconocibles utilizando argumentos , pero vamos a pasar al siguiente nivel, que es mucho ms potente y robusto. (Por cierto que uno puede pasar argumentos no slo a los comandos, pero para hacer archivos tambin. Tipo de ayuda hacer para aprender ms.) 4.3.5 mediante la sintaxis de Stata Si el comando utiliza la sintaxis estndar de Stata, lo que significa que los argumentos son una lista de variables, posiblemente un peso, tal vez un caso o en la clusula, y tal vez un montn de opciones , usted puede tomar ventaja de parser propio de Stata, que almacena convenientemente todos estos elementos de macros locales listos para su uso. Un prototipo de comandos Vamos a escribir un comando que calcula la probabilidad de contraer matrimonio a una edad determinada en un modelo de Coale-McNeil con una determinada media, desviacin estndar, y la proporcin de casarse. La sintaxis del comando nuestra propuesta es pnupt edad, generan (casado) [media (25) STDEV (5) pem (1)] As que necesitamos una variable existente con la edad en aos exactos, y una opcin obligatorio especificar una nueva variable que se genere con las proporciones casados. Tambin hay opciones para especificar la media, la desviacin estndar y la proporcin cada vez se cas en el programa, todos ellos con valores por defecto. He aqu un primer corte en el smbolo capturar pnupt programa gota programa define pnupt versin 9.1 varname sintaxis, Generar (nombre) / / / [Media (real 25) STDEV (real 5) Pem (real 1)] / / ... no hacemos nada ... final Lo primero a destacar es que la sintaxis de comandos se parece mucho a nuestro prototipo. Eso es lo fcil que es. Listas de variables El primer elemento de nuestra sintaxis es un ejemplo de una lista de variables o lista de variables . Puede especificar mnimos y mximos, por ejemplo, un programa que requiere exactamente dos variables dira varlist (min = 2 mximo = 2) . Cuando usted tiene una sola variable, como lo hacemos, puede escribir varname , que es la abreviatura devarlist (min = 1 max = 1) . Stata se asegurar de que su programa se llama con exactamente un nombre de una variable existente, que se almacenarn en un local llamado macro varlist . (La macro se llama siempre varlist , incluso si slo tiene una variable y utilizar varname en su sintaxis.) Trate pnupt Nonesuch y Stata se quejan, diciendo que "no variable Nonesuch encontrado".

(Si usted ha hecho la programacin de antes, y que pas del 75% de su tiempo a escribir cheques para errores de entrada y slo el 25% se centra en la tarea en cuestin, que realmente apreciarn la sintaxis de comandos. Hace un montn de comprobacin de errores para usted. ) Opciones y valores predeterminados Los elementos opcionales de sintaxis estn encerrados entre corchetes [ y ] . En nuestro comando generate opcin es obligatoria, pero los otros tres son opcionales. Pruebe estos comandos para generar un conjunto de datos pequea prueba con una variable de rango de edades entre 15 a 50 caer _all establecer obs 36 Gen edad = 14 + _n Ahora intenta edad pnupt . Esta vez Stata es feliz con la edad , pero requiere "opcin generate () 'notas. He dichosintaxis ahorra mucho trabajo? Las opciones que toman argumentos que especificar el tipo de argumento ( entero ,real, , cuerda , nombre ) y, opcionalmente, un valor por defecto. Nuestra generate toma un nombre , y es necesario, por lo que no tiene valor predeterminado. Trate de edad pnupt, gen (2) . Stata se quejan de que 2 no es un nombre. Si todo est bien, el contenido de la opcin se almacena en una macro local con el mismo nombre que la opcin, aqugenerar . Comprobacin Argumentos Ahora tenemos que hacer un poco de trabajo para verificar que el nombre es un nombre vlido de variable, lo que hacemos con confirmar : Confirmar nueva variable `generate ' Stata comprueba entonces que usted podra de hecho generar esta variable, y si no las cuestiones error 110. Trate deedad pnupt, gen (edad) y Stata dirn "era ya definido. Debe quedar claro a estas alturas que Stata comprobar que si se especifica un media, desviacin estndar o porcentaje cada vez casado, abreviado como m () , s () y p () , sern nmeros reales, que se almacenarn en locales macros denominado decir , STDEV y pem . Si una opcin se omite la macro local contendr el valor predeterminado. Usted podra hacer ms controles en la entrada. Vamos a hacer una rpida comprobacin de que los tres parmetros son no negativos y la proporcin no es ms que uno. if (`significa '<= 0 |` STDEV' <= 0 | `pem '<= 0 |` pem'> 1) { di como error "Parmetros no vlidos" salida 110 } Podras ser ms amable con los usuarios y tener cuentas separadas para cada parmetro, pero esto va a hacer por ahora.

Variables temporales Ahora estamos listos para hacer algunos clculos. Tomamos ventaja de la relacin entre el modelo de Coale-McNeil y la distribucin gamma, como se explica en Rodrguez y Trussell (1980). He aqu una versin de trabajo del programa programa define pnupt *! Coale-McNeil acumulativo nupcialidad horario v1 GR 24-Feb-06 versin 9.1 varname sintaxis, Generar (nombre) [media (real 25) STDEV (real 5) Pem (real 1)] Confirmar nueva var `generate ' si `significa '<= 0 |` STDEV' <= 0 | `pem '<= 0 |` pem'> 1 { mostrar como error "Parmetros no vlidos" salida 198 } tempname zg Gen `z '= (lista de variables`' - 'significa') / STDEV ` Gen `g '= gammap (0,604, exp (-1,896 * (` z' + 0.805))) Gen `generate '=` pem' * (1 - 'g') final Podramos haber escrito la frmula de la probabilidad en una lnea, pero slo a costa de sacrificar la legibilidad. En lugar de eso primero estandarizar edad, restando la media y dividiendo por la desviacin estndar. Qu podemos llamar a esta variable? Usted puede tener la tentacin de llamarlo z , pero lo que si el usuario de su programa tiene una variable llamada z ? Posteriormente se evala la funcin gamma. Qu podemos llamar el resultado? La solucin es la tempname comando, que pregunta Stata para compensar nicos nombres de variables temporales, en este caso dos que se almacena en local de macros z y g . Debido a que estas macros son locales, no hay riesgo de conflictos de nombres. Otra de las caractersticas de las variables temporales es que desaparecen automticamente cuando el programa termina, por lo que Stata hace la limpieza por usted. La lnea de generacin `z '= (lista de variables`' - 'significa') / `STDEV ' probablemente se parece un poco extrao al principio. Recuerde que todas las cantidades de inters se almacenan ahora en macros locales y tenemos que evaluar a llegar a ninguna parte, de ah la profusin de acentos abiertos: `z recibe el nombre de nuestra variable temporal, varlist `' obtiene el nombre de la variable edad especificada por el usuario, significa `' se obtiene el valor de la media, y `STDEV ' se obtiene el valor de la desviacin estndar. Despus de la sustitucin de macros esta lnea va a leer algo como gen000001 = (edad 22.44) / 5,28 , lo que probablemente hace mucho ms sentido. Si / A Usted podra considerar que permite al usuario especificar si y en condiciones para su comando. Estos tendran que ser aadido a la sintaxis, donde se almacenara en macros locales, que puede entonces utilizarse en los clculos, en este caso pasa a lo largo de generar. Para una discusin ms detallada de este tipo de sujeto sintaxis de ayuda y seleccionar si y luego en . La entrada enmarca ayuda tambin es relevante. 4.3.6 Creacin de nuevas variables

A veces, todo su mandato va a hacer es crear una nueva variable. Esto, de hecho, es lo que nuestro comando poco hace.No sera bueno si pudiramos utilizar un egen tipo de comando como este: egen casado = pnupt (edad), media (22,48) STDEV (5,29) pem (0,858) Bueno, se puede! Da la casualidad de egen es de uso extensible. Para implementar una funcin llamada pnupt usted tiene que crear un programa (archivo ado) llamado _gpnupt , es decir, aadir el prefijo _g . La documentacin sobre las extensiones Egen es un poco escaso, pero una vez que conozca este hecho bsico todo lo que tiene que hacer es mirar en la fuente de un egen comando y cpielo. (Mir _gmean .) As que aqu est la egen versin de nuestro Coale-McNeil comando. programa define _gpnupt *! Coale-McNeil acumulativo nupcialidad horario v1 GR 24-Feb-06 versin 9.1 newvarname sintaxis = / exp [, media (real 25) STDEV (real 5) Pem (real 1)] si `significa '<= 0 |` STDEV' <= 0 | `pem '<= 0 |` pem'> 1 { mostrar como error "Parmetros no vlidos" salida 198 } tempname zg Gen `z '= (exp`' - 'significa') / STDEV ` Gen `g '= gammap (0,604, exp (-1,896 * (` z' + 0.805))) Gen `typlist '` varlist' = `pem '* (1 -' g ') final Hay muy pocas diferencias entre este programa y el anterior. En lugar de una variable de entrada egen acepta una expresin, que es evaluado y se almacena en una variable temporal llamada exp . La variable de salida se especifica como una lista de variables , en este caso un newvarname . Es por eso que z ahora trabaja con exp y generacin creavarlist . El misterioso typlist est ah porque egen le permite especificar el tipo de la variable de salida ( flotacinpor defecto) y que se pasa a nuestra funcin, que pasa a lo largo de gen . 4.3.7 Un ajuste Coale-McNeil Estamos dispuestos a revelar cmo la trama inicial se produjo. Los datos estn disponibles en un archivo de Stata en el sitio web del curso demografa, y tiene cargos de mujeres alguna vez casadas y solteras de edad. Calculamos la proporcin observada casado, calcular los valores ajustados sobre la base de las estimaciones de Rodrguez y Trussell (1980), y graficar los resultados. Todo se hace en un puado de lneas utilizar http://data.princeton.edu/eco572/datasets/cohhnupt gen obs = nunca / total egen ajuste = pnupt (edad +0,5), la media (22,44) STDEV (5,28) pem (0.858) gen agem = edad + 0,5 dos vas (Dispersin obs AGEM) (lnea de ajuste AGEM), / / / ttulo (Casado proporciones por edad) subttulos (Colombia 1976) / / / ytitle (Proporcin casado) xTitle (edad)

La estimacin actual se puede implementar utilizando procedimientos de mxima verosimilitud de Stata, pero eso es una historia para otro da. 4.4 Otros temas Por falta de tiempo y espacio no hemos hablado de devolver valores desde el programa, escriba Ayuda Regresar a aprender ms. Para temas relacionados sobre los comandos de estimacin que puede crear resultados de la estimacin ver ayudar ereturn y _estimates ayuda . Una referencia imprescindible en la estimacin es estimacin de mxima verosimilitud con Stata por Gould, Pitblado y Sribney (2003). Otros temas de inters son matrices (comenzar con matriz de ayuda ), y cmo hacer que los comandos "byable" (tipobyable ayuda ). Para la salida seria que necesita para aprender ms acerca de SMCL, comience con SMCL ayuda . Para trabajos en los grficos es posible que desee estudiar programacin de clases ( clase de ayuda ) y aprender acerca de sersets ( ayuda serset ). Para proporcionar una interfaz grfica de usuario para el comando de intentar ayudar a la programacin de dilogo . Es posible leer y escribir archivos de texto y binarios (vase el archivo de ayuda ), pero creo que estas tareas se manejan mejor con Mata. Usted puede incluso escribir extensiones de Stata en C, pero la necesidad de aquellos tambin ha disminuido con la disponibilidad de Mata.

Vous aimerez peut-être aussi