tutorial introducción a Stata

62
Este tutorial es una introducción a Stata haciendo hincapié en la gestión de datos y gráficos. Una discusión complementaria de modelos estadísticos se pueden encontrar en la sección Registros de Stata mi curso GLM enhttp://data.princeton.edu/wws509/stata . Contenido 1. Introducción 1.1 Un recorrido rápido de Stata Stata 1.2 Utilización eficaz de los recursos Stata 1.3 2. Gestión de datos Stata 2.1 Archivos 2.2 Lectura de datos en Stata 2.3 Documentación de datos 2.4 Creación de nuevas variables 2.5 Gestión de archivos Stata 3. Stata Gráficos 3.1 Diagramas de dispersión 3,2 trazos de línea 3.3 Gestión de Parcelas 4. Programación Stata 4.1 Macros 4,2 Looping 4.3 Comandos de Escritores 1. Introducción Stata es un poderoso paquete estadístico con gestión inteligente de datos de las instalaciones, una amplia gama de Up-to-Date técnicas estadísticas, y un excelente sistema para producir gráficos de calidad de publicación. Stata es rápido y fácil de usar. En este tutorial vamos a comenzar con una breve introducción y una visión general y luego discutir la gestión de datos, estadísticas, gráficos y programación. El tutorial se ha actualizado de la versión 12, pero la mayor parte de la discusión se aplica a las versiones 8 y posteriores. 1.1 Un recorrido rápido de Stata Stata está disponible para Windows, Unix y Mac. Este tutorial se centra en la versión de Windows, pero la mayor parte del contenido se aplica a las otras plataformas también. La versión estándar se llama Stata / IC (o

Transcript of tutorial introducción a Stata

Page 1: tutorial introducción a Stata

Este tutorial es una introducción a Stata haciendo hincapié en la gestión de datos y gráficos. Una discusión complementaria de modelos estadísticos se pueden encontrar en la sección Registros de Stata mi curso GLM enhttp://data.princeton.edu/wws509/stata .

Contenido

1.   Introducción     1.1 Un recorrido rápido de Stata     Stata 1.2 Utilización eficaz de     los recursos Stata 1.3

2.   Gestión de datos     Stata 2.1 Archivos     2.2 Lectura de datos en Stata     2.3 Documentación de datos     2.4 Creación de nuevas variables  2.5 Gestión de archivos Stata

3.   Stata Gráficos     3.1 Diagramas de dispersión     3,2 trazos de línea     3.3 Gestión de Parcelas

4.   Programación Stata     4.1 Macros     4,2 Looping     4.3 Comandos de Escritores

1. Introducción

Stata es un poderoso paquete estadístico con gestión inteligente de datos de las instalaciones, una amplia gama de Up-to-Date técnicas estadísticas, y un excelente sistema para producir gráficos de calidad de publicación. Stata es rápido y fácil de usar. En este tutorial vamos a comenzar con una breve introducción y una visión general y luego discutir la gestión de datos, estadísticas, gráficos y programación.

El tutorial se ha actualizado de la versión 12, pero la mayor parte de la discusión se aplica a las versiones 8 y posteriores.

1.1 Un recorrido rápido de Stata

Stata está disponible para Windows, Unix y Mac. Este tutorial se centra en la versión de Windows, pero la mayor parte del contenido se aplica a las otras plataformas también. La versión estándar se llama Stata / IC (o intercooler Stata) y puede manejar hasta 2.047 variables. Hay una edición especial llamada Stata / SE que puede manejar hasta 32.766 variables (y también permite que más variables de cadena y grandes matrices), y una versión para equipos con varios procesadores multinúcleo / llama Stata / MP, que tiene los mismos límites, pero es sustancialmente más rápido . El número de observaciones es limitado por la memoria del ordenador, el tiempo que no excede de aproximadamente dos mil millones. Estas tres versiones están disponibles tanto para equipos de 32 bits y de 64 bits, esta última puede manejar más memoria (y por tanto más observaciones) y tienden a ser más rápido.También hay una pequeña versión de Stata que se

Page 2: tutorial introducción a Stata

limita a unas 1.000 observaciones de 99 variables. Todas estas versiones se pueden leer mutuamente sus archivos dentro de sus límites de tamaño.

En OPR podrá acceder a Stata / SE en Windows ejecutando la versión de red de su propia estación de trabajo, basta con crear un acceso directo a \ \ opr \ acciones \ aplicaciones \ stata12-se \ stataSE.exe . (Si usted tiene una estación 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 través de escritorio remoto y ejecutar Stata / SE allí. Si prefiere los sistemas Unix sesión en nuestro servidor Unix Lotka a través de X-Windows y dejar su trabajo en ejecución 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 continuación:

La ventana con la etiqueta de comando es donde usted escribe sus órdenes. Stata continuación, muestra los resultados en la ventana más grande inmediatamente arriba, llamado apropiadamente suficientes resultados . El comando se agrega a una lista en la ventana con la etiqueta Revisión 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 versión 12, muestra las propiedades de las variables y conjuntos de datos.

Puede cambiar el tamaño o incluso cerrar algunas de estas ventanas. Stata recuerda su configuración la próxima vez que se ejecuta. También puede guardar (y cargar) nombró preferencia establece mediante el menú E dit | P referencias. A mí me gusta el diseño de la ventana Compact. También 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

Page 3: tutorial introducción a Stata

por defecto en Windows. Finalmente, es posible cambiar la combinación de colores, la selección de siete estilos personalizados predefinidos o tres. Uno de los esquemas preestablecidos es clásico, el fondo negro tradicional utilizado en todas las versiones anteriores de Stata.

Hay otras ventanas que vamos a discutir, según sea necesario, a saber, el Gráfico , Visor , Administrador de variables ,Editor de datos, y hacer Editor de archivos .

A partir de la versión 8 de Stata interfaz gráfica de usuario (GUI) permite seleccionar comandos y opciones de un menú y sistema de diálogo. 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 Sección 1.2 más 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 después de apuntar y hacer clic en los menús y cuadros de diálogo, los tipos de Stata el comando correspondiente para usted.

1.1.2 Comandos de Mecanografía

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 línea, que es como Stata marca las líneas que escribe):

. mostrar 2 +2 4. display 2 * ttail (20,2.1) .04861759

Comandos de Stata se distingue entre mayúsculas y minúsculas, la pantalla no es lo mismo que la pantalla y el segundo será no funciona. Los comandos también se pueden abreviar, la documentación y ayuda en línea subraya la abreviatura más corta legal de cada comando y vamos a hacer lo mismo aquí.

El segundo comando muestra el uso de una función 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 sólo haría que el punto de corte de 5%. Para encontrar el valor de dos colas crítico del 5% intenta pantalla invttail (20, 0,025) . Enumeramos algunas funciones que puedes usar en la Sección 2 .

Si emite un comando y descubrir que no funciona, presione la tecla Re Pág 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 cabría esperar. Por ejemplo Flechas avanzar un carácter a la vez y Ctrl-Arrows avanzar en una palabra a la vez. Shift-Arrows seleccionar un carácter 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 sesión interactiva que acaba de escribir y mantener en la ventana de comandos y vaya a envolver, según sea necesario.

1.1.3 Obtención de ayuda

Stata cuenta con ayuda en línea excelente. Para obtener ayuda sobre un comando (o función) Tipo de ayudacommand_name , que muestra la ayuda en una ventana separada llamada Viewer. (También puede escribir chelpcommand_name , que muestra la ayuda en el Resultados ventana;., pero esto no es recomendable) O simplemente seleccione Ayuda |

Page 4: tutorial introducción a Stata

Comando en el sistema de menús. 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 enseñar no para abrir una nueva ventana.)

Si no conoce el nombre del comando que necesita puede buscarlo. Stata tiene una búsqueda de comandos con varias opciones, tipo de búsqueda ayuda a aprender más, 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 distribución 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 también puede calcular las probabilidades de cola para el c normal,

Una de las mejores características de Stata es que, a partir de la versión 11, toda la documentación está disponible en formato PDF. Además, estos archivos están enlazadas desde la ayuda en línea, así que usted puede ir directamente a la sección correspondiente del manual. Para aprender más 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 Sección 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 cápita en 1998 68 países. Para ver una lista de los archivos enviados con Stata tipo sysuse dir . Para cargar el archivo que queremos tipo sysuse lifeexp (la extensión 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 Tamaño: 2.924 (99,7% de memoria libre) (_dta tiene notas)-------------------------------------------------- ----------------------------- archivo de datos de pantallaTipo de variable de nombre de formato de etiqueta etiqueta de la variable-------------------------------------------------- -----------------------------byte región Región% 12,0 g regiónstr28 país% 28s PaísPOPGROWTH% float 9,0 g * AVG. % de crecimiento anual% LEXP byte 9,0 g * La esperanza de vida al nacergnppc flotador% 9,0 g * PNB per cápitasafewater byte% 9,0 g * * Variables indicadas tienen notas-------------------------------------------------- -----------------------------Ordenado por:

Page 5: tutorial introducción a Stata

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á cómo añadir notas en la sección 2 .

1.1.5 Estadística Descriptiva

Corramos simples estadísticas 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 años y el PNB per cápita oscila entre $ 370 a $ 39.980 con un promedio de 8.675 dólares. También vemos que Stata reporta sólo 63 observaciones sobre el PNB per cápita, por lo que debemos tener algunos valores perdidos. Vamos a enumerar los países para los que faltan PNB per cápita:

. lista gnppc país si falta (gnppc) + -------------------------------------- + | Gnppc país | | -------------------------------------- | 7. | Bosnia y Herzegovina. | 40. | Turkmenistán. | 44. | Yugoslavia, FR (Serbia / Montana.). | 46. | Cuba. | 56. | Puerto Rico. | + -------------------------------------- +

Vemos que tenemos en realidad cinco valores que faltan. Este ejemplo ilustra una función potente de Stata: la acción de cualquier comando puede ser restringida a un subconjunto de los datos. Si hubiéramos escrito gnppc lista de paísesque se han enumerado estas variables para los 68 países. Adición de la condición 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 más acerca de los valores que faltan en la Sección 2 .

1.1.6 Dibujar un diagrama de dispersión

Para ver como la esperanza de vida varía con el PNB per cápita vamos a dibujar un diagrama de dispersión utilizando elgráfico de comando, que tiene una gran cantidad de subcomandos y opciones, algunas de las cuales se describen en la Sección 3 .

. gráfico de dispersión de dos vías LEXP gnppc

Page 6: tutorial introducción a Stata

La gráfica muestra una relación curvilínea entre el PIB per cápita y la esperanza de vida. Vamos a ver si la relación se puede linealizar tomando el logaritmo del PIB per cápita.

1.1.7 Informática nuevas variables

Se calcula una nueva variable con el g enerate comando con un nuevo nombre de variable y una expresión aritmética.Elegir bien los nombres de variables es importante. Cuando me computación registra por lo general sólo el prefijo del nombre de la variable edad con 'log' o 'l', pero los nombres compuestos pueden convertirse fácilmente en crípticos y difíciles de leer. Algunos programadores palabras separadas con un guión, como en log_gnp_pc, y otros prefieren la convención de camello carcasa que aprovecha cada palabra después de la primera: logGnpPc. Le sugiero que desarrollar un estilo consistente y se adhieren a ella. Etiquetas de variable también puede ayudar, como se describe en la Sección 2 .

Para calcular logaritmos naturales que utilizamos la función 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 países para los que faltaban PNB per cápita. Trate de confirmar esta afirmación con el comando lista. Vamos a aprender más acerca de la generación de nuevas variables en la sección 2 .

1.1.8 Regresión Lineal Simple

Ahora estamos listos para ejecutar una regresión lineal de la esperanza de vida en el registro del PNB per cápita. Vamos a utilizar el reg reso comando, que muestra el resultado seguido de los predictores (aquí sólo una, loggnppc)

. regresión LEXP loggnppc Fuente | SS df MS Número de obs = 63------------- + ------------------------------ F (1, 61) = 97,09

Page 7: tutorial introducción a Stata

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 regresión se basa en sólo 63 observaciones. Stata omite observaciones que faltan en el resultado o en uno de los predictores. El registro del producto nacional bruto per cápita ", explica el" 61% de la variación de la esperanza de vida en estos países. También vemos que un aumento de uno por ciento en el PIB per cápita se asocia con un aumento de 0,0278 años 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.)

Después de una regresión (o de hecho cualquier instrucción de estimación), puede escribir el comando sin argumentos para ver los resultados de nuevo. Pruebe a escribir reg .

1.1.9 Estimación Post-Comandos

Stata tiene una serie de comandos de estimación después 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 después de una regresión. El comando

. predecir plexp(Opción xb asumido; valores ajustados)(5 valores faltantes generados)

genera una nueva variable, plexp , que tiene la esperanza de vida predicha a partir de la ecuación de regresión. No se hacen predicciones para los cinco países que no tienen un PNB per cápita. (Si la esperanza de vida que faltaba para un país que estarían excluidos de la regresión, pero una predicción se hizo por ella. Esta técnica se puede utilizar para rellenar los valores que faltan.)

1.1.10 Representación de los datos y un ajuste lineal

Una tarea común es superponer una línea de regresión en un diagrama de dispersión para inspeccionar la calidad del ajuste. Podemos hacer esto usando las predicciones que almacenados en plexp , pero Stata gráfico comando sabe hacer ajustes lineales sobre la marcha usando el lfit tipo de gráfico, y puede sobreponer diferentes tipos debidireccionales parcelas, como se explica con más detalle en la Sección 3 . Pruebe el comando

. gráfico de dos vías (Dispersión LEXP loggnppc) (lfit LEXP loggnppc)

Page 8: tutorial introducción a Stata

En este comando cada expresión entre paréntesis es una independiente de dos vías trama que se superpone en la misma gráfica. El ajuste se ve razonablemente bueno, excepto para un valor atípico posible.

1.1.11 Listado de observaciones seleccionadas

Es difícil no darse cuenta del país en la parte inferior izquierda de la gráfica, que tiene la esperanza de vida mucho menor de lo que cabría esperar, incluso teniendo en cuenta su bajo PIB per cápita. Para saber qué país es que la lista (los nombres) de los países en los que la esperanza de vida es inferior a 55:

. lista de países LEXP plexp si LEXP <55, limpio país LEXP plexp 50. Haití 54 66.06985

Encontramos que el valor extremo es Haití, con una esperanza de vida 12 años menor de lo que cabría esperar dado su PIB per cápita. (La palabra clave limpio después de la coma es una opción que omite las fronteras en el listado. Muchos comandos de Stata tiene opciones, y éstas siempre se especifican después de una coma.) Si usted es curioso en el que Estados Unidos es tratar de

. lista gnppc loggnppc LEXP plexp si el país == "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 país era "Estados Unidos". Nótese el uso de un doble signo igual en una expresión lógica. 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

Page 9: tutorial introducción a Stata

Para salir de Stata se utiliza la salida de comandos (o seleccione Archivo | Salir en el menú, o pulse Alt-F4, como en la mayoría 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 añadido 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 Utilización 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 más tarde si es necesario. He aquí algunas recomendaciones prácticas.

1.2.1 Creación 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 más detalles. Le recomiendo que crear un directorio independiente para cada curso o proyecto de investigación que está involucrado, y comenzar su sesión 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 más tarde también entienden la doble barra utilizado en Windows para referirse a un ordenador, para que pueda cd \ \ opr \ acciones \ \ Investigación myProject para acceder a una carpeta de proyecto compartido. Un enfoque alternativo, que también 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 \ \ Investigación myProject y luego en Stata uso cd t: . Alternativamente, usted puede asignar R: a \ \ opr \ acciones \ Investigación y utilizar cd R: \ myProject , una solución más 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 dónde puede desplazarse hacia atrás, escriba scrollbufsize ayudar a aprender más.) Mantener un permanente registro de sus resultados, sin embargo, debe iniciar su sesión. 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

Page 10: tutorial introducción a Stata

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 escribeVisor . Afortunadamente, hay un texto opción 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 más sobre esta opción.)

El reemplazo opción 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 solución es cerrar los registros abiertos con el cierre de registro de comandos. El problema con esta solución 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 sólo 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 ejecución o seleccionar T erramientas | R Naciones Unidas en el menú. También puede seleccionar sólo unos pocos comandos y ejecutarlos mediante la selección de T erramientas | Ejecutar S elección en el menú. Para tener acceso a Stata hacer uso editor Ctrl-9 en la versión 12 (Ctrl-8 en las versiones anteriores) o seleccione Ventana | Hacer-archivo del Editor | Nuevo Editor Hágalo archivo en el sistema de menús.

Como alternativa, puede utilizar un editor como el Bloc de notas. Guarde el archivo con extensión . hacer y luego ejecutarlo con el comando hacerlo nombre de archivo . Para un análisis a fondo de los editores de texto alternativo ver http://fmwww.bc.edu/repec/bocode/t/textEditors.html , una página 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. También, usted puede encontrar insistencia de Word en mayúscula la primera palabra de cada línea molesto cuando usted está tratando de escribir comandos de Stata que deben estar en minúsculas. Usted puede, por supuesto, desactivar la opción de corregir apagado. Pero es mucho más fácil usar un editor de texto plano.

1.2.4 Comentarios de uso y anotaciones

El código que parece obvio para usted puede no ser tan evidente para un compañero de trabajo, o incluso que después 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.

Page 11: tutorial introducción a Stata

En la ventana de comandos de Stata se puede iniciar una línea 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 también puede utilizar dos tipos de comentarios: / / y / ** /

/ / se utiliza para indicar que todo lo que sigue al final de la línea es un comentario y debe ser ignorado por Stata. Por ejemplo, usted podría 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 líneas, es un comentario a ser ignorado por Stata. Este tipo de comentario se puede utilizar en cualquier lugar, incluso en el medio de una línea, y algunas veces se usa para "comentar" código.

Hay un tercer tipo de comentario utilizado para romper las líneas muy largas, como se explica en el siguiente apartado.Escriba comentarios ayudan a aprender más acerca de los comentarios.

Siempre es una buena idea comenzar cada archivo do con los comentarios que incluyan al menos un título, el nombre del programador que escribió el archivo y la fecha. Los supuestos sobre los archivos necesarios también deben tenerse en cuenta.

1.2.5 Líneas de continuación

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 líneas para mejorar la legibilidad.

Para indicar a Stata que un comando continúa en la línea siguiente se utiliza / / / , que dice que todo lo demás hasta el final de la línea es un comentario y el propio comando continúa en la línea siguiente. Por ejemplo, usted podría escribir

gráfico de dos vías (Dispersión LEXP loggnppc) / / / (Lfit LEXP loggnppc)

Quienes tienen más experiencia puede escribir

gráfico de dos vías (Dispersión LEXP loggnppc) / * * / (Lfit LEXP loggnppc)

que "Los comentarios fuera" el fin de la línea.

Una alternativa es decir Stata para utilizar un punto y coma en lugar del retorno de carro al final de la línea para marcar el final de un comando, utilizando # delimitan; , como en este ejemplo:

# Delimitan;gráfico de dos vías (Dispersión LEXP loggnppc) (Lfit LEXP loggnppc);

Page 12: tutorial introducción a Stata

Ahora todos los comandos deben terminar con un punto y coma. Para volver a usar c arriage r eturn como el uso delimitador

# Delimitan cr

El delimitador sólo 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 rápida , e ilustra el resaltado de sintaxis introducido en Stata hacer editor de archivos en la versión 11. El archivo no tiene muchos comentarios porque esta página tiene todos los detalles. Tras el anuncio se comentan un par de líneas que requieren explicación.

/ / Un recorrido rápido de Stata/ / German Rodriguez - Otoño 2011 versión 12 claro registro de captura cerca de iniciar el uso Repaso Rápido, 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 país en caso de falta (gnppc) gráfico de dispersión de dos vías LEXP gnppc, / / / título (la esperanza de vida y PIB) xTitle (PIB per cápita)gráfico exportación scatter.png, anchura (400) reemplazar / / guardar el gráfico en formato PNG gen loggnppc = log (gnppc) regreso loggnppc LEXP predecir plexp gráfico de dos vías (Dispersión LEXP loggnppc) (lfit LEXP loggnppc) / / /

, Título (la esperanza de vida y PIB) xTitle (log PIB per cápita)gráfico exportación fit.png, anchura (400) reemplazar Lista país LEXP plexp si LEXP <55, limpio lista gnppc loggnppc LEXP plexp si el país == "Estados Unidos", limpie iniciar cercano / / asegurarse de que usted pulse intro para la última línea

Comenzamos el archivo do especificando la versión de Stata que estamos usando, en este caso 12. Esto ayuda a asegurar que las futuras versiones de Stata seguirán interpretar los comandos correctamente, incluso si Stata ha cambiado, ver facilitar la versión para obtener más información. (La versión anterior de este archivo leído la versión 11, y podría haber dejado que en

Page 13: tutorial introducción a Stata

lugar de correr bajo el control de versiones, los resultados serían los mismos porque ninguno de los comandos que se utilizan en este rápido recorrido ha cambiado.)

Las claras instrucción elimina los datos que actualmente mantiene en la memoria y las etiquetas de valor que pueda tener. La razón por la que necesitamos es que si tuviéramos 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 todavía. Escribiendo Borrar todo elimina los objetos de la memoria, para garantizar que puedas comenzar con una pizarra totalmente limpia. Verayudar a limpiar para más información. Normalmente, sin embargo, lo único que tienes que hacer es borrar los datos.)

Tenga en cuenta también que utilicemos un gráfico exportación comando para convertir el gráfico en la memoria de Portable Network Graphics (PNG), listo para su inclusión en una página web. Para incluir un gráfico en un documento de Word que es mejor cortar y pegar un gráfico en formato Windows Metafile, como se explica en la Sección 3 .

La nota en la última línea es para recordarle que por defecto utiliza Stata el retorno de carro (invisible) al final de la línea como delimitador de comando. Si no se pulsa retorno después de la última línea, la línea entera suele ser ignorada por Stata.

1.2.7 Sintaxis de los comandos de Stata

Después 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 continuación se describe cada elemento de sintaxis:comando :

El único elemento necesario es el propio comando, que es generalmente (pero no siempre) un verbo de acción, y es seguido a menudo por los nombres de una o más variables. Comandos de Stata se distingue entre mayúsculas y minúsculas. Los comandos de describir y describir son diferentes, y sólo el primero va a funcionar. Comandos por lo general se puede abreviar como se señaló 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 más 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 número mínimo de letras que lo hace único en un conjunto de datos. Por ejemplo, en nuestro recorrido rápido podríamos 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. También puede utilizar comodines como * v o rangos de nombre, como v101 v105- para referirse a varias variables.Escriba varlist ayudar a Lear más información acerca de las listas de variables.

= Exp :Comandos utilizados para generar nuevas variables, tales como generar log_gnp = log (PNB) , son una expresión aritmética, básicamente, una fórmula que utiliza los operadores

Page 14: tutorial introducción a Stata

estándar (+ - * y / para las cuatro operaciones básicas y de exponenciación ^, por lo que 3 ^ 2 es tres al cuadrado), funciones y paréntesis. Se discuten las expresiones en la Sección 2 .

si exp y en serie :Como hemos visto, la acción de un comando puede ser restringido a un subconjunto de los datos por specifyinLEXP <55 . Los operadores relacionales son <, <=, ==,> = y>, y la negación lógica se expresa utilizando ! o ~ , como veremos en la sección 2 . Como alternativa, puede especificar un rango de los datos, por ejemplo en 1/10restringirá la acción del comando a las primeras 10 observaciones. Escriba numlist ayudar a aprender más acerca de las listas de números.

peso :Algunos comandos permiten el uso de pesas, escriba ayudar pesas para obtener más información.

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 introducción de datos en la sección 2 .

opciones :La mayoría de los comandos tienen opciones que se especifican después 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 característica 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 línea) y los datos deben ser ordenados por la variable de agrupación (s) (o utilice bysort lugar).

Stata 1.3 Recursos

Hay muchos recursos disponibles para aprender más acerca de Stata, tanto en línea 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 documentación oficial, que publican una revista llamada Stata Journal, y que tienen una librería excelente, con textos sobre temas relacionados con Stata y estadísticos. Stata también ofrece cursos de formación y correo electrónico basado en web llamado NetCourses, consultehttp://www.stata.com/info/products/netcourse/ .

Hay una lista de correo electrónico independiente mantenido por Marcello Pagano en la Escuela de Harvard de Salud Pública, donde se pueden enviar preguntas y recibir respuestas prontas y bien de otros usuarios. (Muy a menudo desde el infatigable y muy bien Cox Nicolás, que merece un reconocimiento especial por su servicio a la comunidad de usuarios.) Para obtener instrucciones detalladas sobre cómo 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 también tiene una lista de preguntas más 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 día con Stata. No te pierdas su kit de inicio, que incluye los "apuntes de clase con películas", un conjunto de materiales didácticos que combinan las notas de clase con las películas que se pueden ver en la web y sus enlaces por temas, lo que proporciona una guía de cómo hacerlo para tareas

Page 15: tutorial introducción a Stata

comunes . También hay módulos de aprendizaje más avanzadas, algunas de ellas con películas así, y comparaciones de Stata con otros paquetes como SAS y SPSS.

1.3.2 Manuales y Libros

La documentación de Stata ha ido creciendo con cada versión y ahora viene en un conjunto de 19 volúmenes! La documentación básica se compone de un Manual de Base de cuatro volúmenes de referencia, los volúmenes por separado sobre gestión de datos y gráficos, una Guía del usuario, una referencia rápida y el índice, y Introducción a Stata, que tiene específicas de la plataforma versiones para Windows, Macintosh y Unix. Algunos temas estadísticos que puedan ser importantes para usted, se describen en siete

manuales separados, que trata de Longitudinal / panel de datos, estadísticas multivariantes, datos de encuestas, análisis de supervivencia y los cuadros epidemiológicos, series de tiempo, la imputación múltiple y modelos de ecuaciones estructurales, que es nuevo para versión 12. Volúmenes de interés para los programadores, en particular aquellos que tratan de ampliar las capacidades de Stata, son un volumen sobre la programación y los volúmenes de dos a Mata, el lenguaje de Stata matriz de programación. El conjunto de documentación completo cuesta $ 595. Tenga en cuenta, sin embargo, que a partir de la versión 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 análisis estadísticos utilizando Stata (4 ª edición), Lawrence Hamilton Estadística con Stata (Actualizado para la versión 10), y Scott Long y Jeremy Freese de los modelos de regresión Para variables dependientes categóricas con STATA (2 ª Edición), actualizada tras el lanzamiento de la versión 8. Los tres libros incluyen tutoriales útiles introducción de Stata. Sección 2.10 del libro por Long y Freese es un conjunto de prácticas recomendadas que deben ser leídas y seguidas fielmente por todos los programadores Stata aspirante. Otro libro que me gusta es excelente Michael Mitchell Una Guía Visual de Gráficos de Stata , que fue escrito especialmente para introducir los nuevos gráficos en la versión 8 y ya va por su segunda edición.Dos útiles (pero más especializado) referencias escritas por los desarrolladores de Stata son una introducción al análisis de supervivencia utilizando Stata (3 ª edición), de Mario Cleves, Gould Guillermo, Roberto Gutiérrez y Marchenko Julia, yestimación de máxima verosimilitud con Stata (4 ª edición) por William Gould, Pitblado Jeffre

2. Gestión de datos

En esta sección se describen los archivos de datos de Stata, discutir cómo leer los datos en bruto en Stata en formatos libres y fijos, cómo crear nuevas variables, cómo documentar un conjunto de datos etiquetado de las variables y sus valores, y cómo 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 gráfica de usuario intuitiva disponible bajo D ata | V Gerente ariables en el sistema de menús. Mientras que el gerente es ciertamente conveniente, todavía prefiero escribir todos los comandos en un archivo do para asegurar la reproducibilidad de investigación. Una característica 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 sesión, deja un registro detrás.

Archivos Stata 2.1

Page 16: tutorial introducción a Stata

Conjuntos de datos de Stata son matrices rectangulares con n observaciones de m variables. A diferencia de los paquetes que se leía una observación a la vez, Stata mantiene todos los datos en la memoria, que es una de las razones por qué es tan rápido. Hay un límite 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 límites de ayuda .)

2.1.1 Nombres de variables

Los nombres de variables pueden tener hasta 32 caracteres, pero muchos comandos imprimir sólo 12 años, y nombres más cortos son más fáciles de escribir. Nombres de Stata son mayúsculas y minúsculas , edad y la edad son variables diferentes! Vale la pena desarrollar una convención para nombrar variables y ajustarse a él. Yo prefiero cortas nombres en minúscula 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 números o cadenas. Las variables numéricas se pueden almacenar como números enteros (bytes, enteros o largos) o punto flotante (float o double). Estos tipos difieren en el alcance y precisión de los valores que pueden tratar, escriba ayudar a tipo de datos para obtener más información.

Por lo general, no es necesario preocuparse por el modo de almacenamiento; Stata hace todos los cálculos utilizando dobles y la compresa comando encontrará la manera más económica de almacenar cada variable en el conjunto de datos, escriba ayudar a comprimir para obtener más información.

Usted no tiene que tener cuidado con las comparaciones lógicas 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 razón es que 0,1 se "redondeado" a los números binarios diferentes cuando se almacena como un flotador (x) o como un doble (la constante de 0,1). Este problema no se produce con números enteros o cadenas.

Las variables de cadena pueden tener diferentes longitudes de hasta 244 caracteres (versiones anteriores de Stata Intercooled permitido sólo 80 caracteres). Las cadenas son ideales para las variables de identificación, ya que pueden ser comparados sin problemas.

A veces puede necesitar para convertir entre numérico y variables de cadena. Si una variable se ha leído como una cadena, pero en realidad contiene los números que tendrá que usar el comando destring o la función real () . De lo contrario, puede utilizar codificación para convertir los datos de cadena en una variable numérica o decodificar para convertir las variables numéricas en cadenas. Estos comandos dependen de las etiquetas de valor, que se describen a continuación.

2.1.3 Valores perdidos

Al igual que otros paquetes estadísticos, Stata distingue faltan valores. El valor básico que falta para las variables numéricas se representa por un punto . partir de la versión 8 hay 26 adicionales valor faltante-denotadas por los códigos. una a . z . Estos valores se representan internamente como números muy grandes, por lo que valid_numbers <. <. A <... <. Z .

Page 17: tutorial introducción a Stata

Para comprobar si faltan es necesario escribir var> =. (no var == .). Stata tiene una función que puede hacer esta comparación, que falta ( varname ) y lo recomiendo porque conduce a la lectura del código, 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 vacía, no se debe confundir con una cadena que es todos los espacios en blanco, como "".

Los datos demográficos de encuestas suelen utilizar códigos 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 códigos de valores faltantes. Si quieres recodificar 88 a. N (por "na" o NotApplicable) y de 99 a. M (de "desaparecidos") puede utilizar el código

. reemplazar ageAtMar =. == n si ageAtMar 88

. reemplazar ageAtMar =. == m si ageAtMar 99

A veces quieres tabular una variable, incluyendo los valores perdidos, pero con exclusión de los casos no aplicables. Si usted va a hacer esto a menudo puede que prefiera dejar 99 como un código de regular y definir sólo 88 en lo que falta.Sólo ten cuidado si a continuación, ejecuta una regresión!

Buques de Stata con una serie de pequeños 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 también un repositorio para los conjuntos de datos utilizados en los manuales de Stata y en un número de libros estadísticos.

2.2 Datos lectura en Stata

En esta sección se discute cómo leer primas archivos de datos. Si los datos vienen de otro paquete estadístico, 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 Administración de Alimentos y Drogas), el tipo fdause ayuda . Stata también puede leer datos de bases de datos relacionales, escriba ayudar odbc para una introducción.

2.2.1 Formato libre

Si los datos están 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 planificación de la familia esfuerzo disponible en la web enhttp://data.princeton.edu/wws509/datasets (leer la descripción y haga clic en effort.raw). Esto es esencialmente un archivo de texto con cuatro columnas, una con los nombres de países y tres con variables numéricas, 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 país es una cadena en lugar de una variable numérica que preceden al nombre con str14 , que

Page 18: tutorial introducción a Stata

establece el tipo de la variable como una cadena de hasta 14 caracteres. Todas las demás variables son numéricas, 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 más información sobre este comando tipo infile1 ayuda . Para ver lo que tenemos podemos enumerar unos pocos casos

. lista en 1/3

Paquetes de hojas de cálculo como Excel a menudo exportar datos separados por tabulaciones o comas con una observación por línea. A veces, la primera línea tiene los nombres de las variables. Si los datos están en este formato se pueden leer mediante el insheet comando. Este comando es un poco más simple que infile , pero desafortunadamente no funciona con valores separados por espacio en blanco. Escriba insheet ayudar a aprender más.

2.2.2 Formato Fijo

Los datos de encuestas a menudo vienen en formato fijo, con uno o más registros por caso y cada variable en una posición fija en cada registro.

La forma más 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 están perfectamente alineados en columnas, por lo que podríamos decir lo siguiente:

país 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 país 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 país era una variable de cadena, pero no tiene que especificar el ancho, lo que estaba claro por el hecho de que los datos están en las columnas 4-17. La clara opción se utiliza para sobrescribir el conjunto de datos existente en la memoria. 

Si usted tiene un gran número de variables que debe considerar escribir los nombres y la ubicación 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 país 4-17 estableciendo 23-24 esfuerzo 31-32 cambiar 40-41}

Diccionarios aceptar solamente * Comentarios y estos deben aparecer después de la primera línea. Después de guardar este archivo puede leer los datos utilizando el comando

. infijo con effort.dct, claro

Page 19: tutorial introducción a Stata

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 podía especificar como una opción para el comando infijo, en la formainfija con dictionaryfile , utilizando ( archivo de datos ). La primera 'usando' especifica el diccionario y "utilizar" segunda es una opción 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 líneas todavía se pueden leer con infijo , siempre y cuando todas las observaciones tienen el mismo número de registros (no necesariamente todas de la misma anchura). Para obtener más información, consulte ayudar infijo .

El infile comando también 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 están disponibles con infijo , por ejemplo, le permite definir etiquetas de variable en el mismo diccionario, pero la sintaxis es un poco más complicado. Ver infile2 ayudar .

En la mayoría 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 más información sobre las ventajas y desventajas ver infiling ayudar .

Los datos también 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 través de D ata | editor de datos en el sistema de menús.

2.3 Documentación de Datos

Después de leer los datos en Stata es importante preparar alguna documentación. En esta sección veremos cómo crear conjunto de datos, variables y etiquetas de valor, y cómo 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). También puede agregar notas de hasta ~ 64K caracteres cada una utilizando elnotas comando seguido de dos puntos y luego el texto:

. etiquetas de datos "planificación familiar" Esfuerzo de datos

. Notas: Fuente PW Mauldin y B. Berelson (1978). / / /> Condiciones de descenso de la fecundidad en los países en desarrollo, 1965-1975. / / /> Estudios de Planificación Familiar, 9:89-147

Los usuarios de los datos se pueden escribir notas para ver su anotación. La documentación 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 través 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 añadir 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:

Page 20: tutorial introducción a Stata

. variable de ajuste etiqueta "Ajuste Social"

. etiqueta de esfuerzo variable "Planificación Familiar Esfuerzo"

. variable de etiquetas de cambio "Fertilidad Cambio"

Stata también te permite añadir notas a las variables específicas 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 disminución de la tasa bruta de natalidad (TBN)-el número de / / /> Nacimientos por cada mil habitantes-entre 1965 y 1975.

Escriba describir y luego señala a revisar nuestro trabajo hasta ahora.

2.3.3 Etiquetas de valor

También puede etiquetar los valores de las variables categóricas. Nuestra base de datos no tiene variables categóricas, pero vamos a crear uno. Vamos a hacer una copia de la variable esfuerzo de planificación familiar y de grupo en tres categorías, 0-4, 5-15 y + 15, que representan programas débiles, moderadas y fuertes (el generar y recodificarutilizado en las dos primeras líneas son se describe en la siguiente sección, en la que también muestran cómo llevar a cabo todos estos pasos con un solo comando):

. generar effortg = esfuerzo . recode effortg 0/4 = 1 5/14 = 2 = 3 15/max . etiquetar definir effortg 1 "débil" 2 "Moderado" 3 "fuerte" . valores de la etiqueta effortg effortg . variable de etiqueta effortg "Esfuerzo de Planificación Familiar (División)"

Stata tiene un enfoque en dos etapas para definir las etiquetas. En primer lugar se define un conjunto de etiquetas con nombre que asocia códigos enteros con etiquetas de hasta 80 caracteres (244 en Stata SE), utilizando la etiqueta de definir comandos. A continuación, 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 canónico 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 definición 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 (sólo 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 más acerca de estas opciones y comandos. También puede hacer que las etiquetas en varios idiomas, como se explica a continuación.

2.3.4 Las etiquetas multilingües *

Page 21: tutorial introducción a Stata

(Esta subsección se pueden omitir sin pérdida 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 creación de etiquetas de español para nuestro conjunto de datos. Siguiendo las recomendaciones de Stata se utilizará el estándar ISO de dos letras de los códigos lingüísticos, cuarto de Inglés y es para los españoles.

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! Podríamos haber copiado los ingleses mediante la opción de copia , pero eso no nos salvaría cualquier trabajo en este caso. Aquí hay versiones en español de los datos y etiquetas de variable:

. datos de la etiqueta "Datos de Mauldin y Berelson Sobre Planificacion Familiar"

. etiqueta de la variable país "País"

. 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 inglés, sino que coexisten con ellos en un universo paralelo españoles. Con las etiquetas de valor tiene que ser un poco más cuidadoso, sin embargo, no se puede simplemente volver a definir el conjunto de etiquetas llamado effortg porque es sólo la asociación 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 código 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 tabulación de esfuerzo:

. mesa effortg

A continuación se cambia el idioma de nuevo al inglés 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 están restringidos a los caracteres ASCII de 7-bits, por lo que no se puede incluir letras con signos diacríticos, como los acentos. Para obtener más información sobre el tipo label_language ayuda.

2.4 Creación de nuevas variables

Page 22: tutorial introducción a Stata

Los comandos de Stata más importantes para la creación 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 expresión que puede combinar constantes, variables, funciones y operadores aritméticos y lógicos. Empecemos con un ejemplo sencillo: aquí es cómo crear establecimiento cuadrado:

. gen settingsq = ajuste ^ 2.

Si usted va a utilizar este término en una regresión usted sabe que los términos lineales y cuadráticos están 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 creación . 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. También puede utilizar la gota var_names a caer una o más variables del conjunto de datos.

2.4.2 Operadores y expresiones

La siguiente tabla muestra las medias aritméticas estándar, los operadores lógicos y relacionales que usted puede usar en expresiones:

Aritmética Lógico Relacional

+ Añadir ! no (también ~) == Igual

- Restar | O ! = No igual (también ~ =)

* Multiplicar & Y <Menor que

/ División   <= Menor o igual

^ Subir al poder   > Mayor que

+ Concatenación de cadenas   > = Mayor o igual

He aquí cómo crear una variable de indicador para los países con programas de alto esfuerzo:

. generar hieffort esfuerzo => 14

Se trata de un lenguaje común Stata, aprovechando el hecho de que las expresiones lógicas toman el valor 1 si es verdadero y 0 si es falso. Una alternativa común es escribir

. generar hieffort2 = 0 . reemplazar hieffort2 = 1 si el esfuerzo> 14

Page 23: tutorial introducción a Stata

Las dos estrategias obtener exactamente la misma respuesta. Ambos se equivocan si hay valores faltantes, los cuales serán codificados como alto esfuerzo porque faltan códigos de valores son valores muy grandes, como se señala en la Sección 2.1. Usted debe desarrollar un buen hábito 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 lógicas pueden combinarse usando y por "y", o | para la "o". He aquí cómo 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 cláusula esfuerzo <= 14.

2.4.3 Funciones

Stata cuenta con un gran número de funciones, aquí están algunas de uso frecuente funciones matemáticas, escribaayudar mathfun para ver una lista completa:

abs (x) el valor absoluto de x

exp (x) la función exponencial de x

int (x) el entero obtenido por x truncar hacia cero

ln (x) o log (x) el logaritmo natural de x si x> 0

log10 (x) el logaritmo en base 10 de x (para x> 0)

logit (x) el logaritmo de la probabilidad para x probabilidad: logit (x) = ln (x / (1-x))

max (x1, x2, ..., xn) el máximo de x1, x2, ..., xn, haciendo caso omiso de los valores perdidos

min (x1, x2, ..., xn) el mínimo de x1, x2, ..., xn, haciendo caso omiso de los valores perdidos

round (x) x redondeado al número entero más cercano

sqrt (x) la raíz cuadrada de x si x> = 0

Estas funciones se aplican automáticamente a todas las observaciones cuando el argumento es una variable en el conjunto de datos.

Stata también tiene una función para generar números aleatorios (usadas en la simulación), es decir, uniforme () .También 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 críticos), incluyendo normal () para la cdf normal y invnormal () por su inverso, consulte ayudar funciones de densidad de más información. Para simular las observaciones distribución normal se pueden utilizar

. Rnormal () / / o invnormal (uniforme ())

Hay también algunas funciones especializadas para trabajar con cadenas, consulte ayudar funciones de cadena , y con fechas, vea ayudar funciones de fecha .

2.4.4 Recodificación de variables

Page 24: tutorial introducción a Stata

El comando recode se utiliza para agrupar una variable numérica en categorías. Supongamos, por ejemplo, una encuesta de fecundidad tiene la edad en años para las mujeres solteras de entre 15 y 49 años, y que le gustaría que el código en grupos de edad de 5 años. Usted puede, por supuesto, usar algo como

. gen age5 = int ((edad-15) / 5) +1 si! que falta (edad)

pero esto sólo funciona para los intervalos regularmente espaciados (y es un poco críptico). 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 expresión entre paréntesis es una regla de recodificación, 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 límites, por lo que 15/19 es de 15 a 19, que también podría ser especificada como 15 16 17 18 19 15 16 o incluso 17/19. Puede utilizar min para referirse al valor más pequeño y max para referirse al valor mayor, como en min/19 y 44/max . Los paréntesis pueden omitirse cuando el Estado tiene el rango de forma = valor, pero por lo general ayudan a hacer que el comando sea más legible.

Los valores se asignan a la primera categoría donde caen. Los valores que nunca se asignan a una categoría se mantienen como están. Se puede utilizar otro (o *) como la última cláusula para referirse a cualquier valor aún 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 cláusulas y no se puede combinar con otra cosa.

En nuestro ejemplo también se utiliza el gen () opción 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 lageneración de opción o hacer una copia de la variable original antes de volver a codificar la misma.

También puede especificar etiquetas de valor en cada regla de recodificación. Este es el error más simple y menos propenso que la creación de las etiquetas en un comunicado. La opción 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 cómo recodificar y esfuerzo etiqueta de planificación familiar en un solo paso (comparar con los cuatro comandos que se utilizan en la sección 2.4.2 anterior).

. esfuerzo recode (0/4 = 1 Débil) (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 transformación ha funcionado como se esperaba. (Por supuesto, esto sólo puede hacerse si se ha generado una nueva variable!)

2.5 Gestión 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 opción de sustitución, como siempre, sólo es necesario si el archivo ya existe. Para cargar un archivo de Stata ha guardado en una sesión anterior se emite el comando uso del archivo .

Page 25: tutorial introducción a Stata

Si hay variables temporales que no es necesario en el archivo guardado se puede caer (antes de guardarla) con caída de nombres de variables . Como alternativa, puede especificar las variables que desea guardar, utilizando mantenervarname s . Con archivos de gran tamaño es posible que desee comprimir ellos antes de guardar; este comando analiza los datos y los almacena cada variable en el tipo de datos más pequeño posible que no se traducirá en la pérdida de precisión.

Es posible añadir variables u observaciones a un archivo de Stata. Para agregar las variables que utiliza la combinacióncommmand, que requiere dos (o más) archivos Stata, generalmente con un identificador común para las observaciones pueden ser emparejados correctamente. Una aplicación típica es para añadir información del hogar, a un archivo de datos individual. Escriba ayudar a unir para aprender más.

Para añadir observaciones a un archivo se utiliza la agregación de comandos, que requiere que los datos se añadirán 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 clínica y lo desea, puede añadir datos similares de otra clínica. Escriba ayudar a añadir a aprender más.

Un comando relacionado, pero más especializado es joinby , que forma todas las combinaciones de pares de observaciones en la memoria con las observaciones en un conjunto de datos externa (véase también la cruz ).

3. Stata Gráficos

Stata cuenta con excelentes instalaciones gráficas, accesibles a través del gráfico de comandos, consulte ayuda gráfica para una visión general. Los gráficos más comunes en las estadísticas son trazados XY que muestran puntos o líneas. Estos están disponibles en Stata por medio de la twoway subcomando, que a su vez cuenta con 31 sub-subcomandos o tipos de trama, las más importantes son la dispersión y línea . También vamos a describir brevemente las parcelas de barras, disponible a través de la barra subcomando, y otros tipos de trazado.

Stata 10 introducido un editor de gráficos que se pueden utilizar para modificar una gráfica interactiva. No recomiendo esta práctica, sin embargo, porque entra en conflicto con los objetivos de documentar y asegurar la reproducibilidad de todos los pasos en su investigación.

3.1 Diagramas de dispersión

En esta sección vamos a ilustrar unas pocas parcelas que utilizan los datos de disminución de la fecundidad usados por primera vez en la Sección 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 sección:

Page 26: tutorial introducción a Stata

3.1.1 Un diagrama de dispersión simple

Para producir un diagrama de dispersión simple de cambio de la fecundidad por entorno social se utiliza el comando

gráfico de dispersión de dos vías 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 dispersión de dos vías , o simplemente dispersiónsi es que la trama sólo en el gráfico. Ahora vamos a añadir algunas campanas y silbatos.

3.1.2 Líneas Empotrados

Supongamos que queremos mostrar la línea de regresión ajustada también. En algunos paquetes que le necesita para ejecutar una regresión, calcule la línea de ajuste, y luego trazar la misma. Stata puede hacer todo eso en un solo paso utilizando la lfit tipo de gráfico. (Hay también un qfit parcela para ajustes cuadráticos.) Esto se puede combinar con el diagrama de dispersión encerrando cada subparcela entre paréntesis. (También se puede combinar parcelas con dos barras horizontales | |., Pero me parece el método más claro el uso de paréntesis)

gráfico de dos vías (esfuerzo dispersión valor) / / / (Esfuerzo lfit ajuste)

Ahora supongamos que quería poner bandas de confianza alrededor de la línea de regresión. Stata puede hacer esto con el lfitci tipo de trama, que señala a la región de confianza como una banda gris. (Hay también un qfitci banda para los ajustes cuadráticos.) Debido a que la banda de confianza pueden ocultar algunos puntos que llaman la primera región y los puntos que más tarde

Page 27: tutorial introducción a Stata

gráfico de dos vías (esfuerzo lfitci valor) / / / (Esfuerzo dispersión 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 () opción, y omitir la leyenda (algo obvio) con leyenda (off) . Aquí se especifica tanto como opciones para el twoway comando. Para hacer que la opción más evidente para el lector que poner la coma en el inicio de una nueva línea:

gráfico de dos vías (esfuerzo lfitci valor) / / / (Esfuerzo dispersión configuración) / / / , 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 . También es posible marcar los puntos utilizando texto incluido en otra variable, usando el mlabel ( varname ) opción. En el siguiente paso se suman los nombres de países a la parcela:

gráfico de dos vías (ajuste lfitci cambio) / / / (Ajuste de dispersión cambio, mlabel (país))

Un pequeño problema con las etiquetas es la superposición de Costa Rica y Trinidad y Tobago (y en menor medida Panamá y Nicaragua). Podemos resolver este problema mediante la especificación de la posición de la etiqueta en relación con el marcador usando un reloj de 12-horas (de modo 12 está arriba, es 3 a la derecha, está por debajo de 6 y 9 está a la izquierda) y la opción mlabv () . Creamos una variable para almacenar la posición fijada por defecto a las 3 y luego pasar a Costa Rica las 9 y Tobago Trinidad a sólo un poco por encima de las 11 horas (también podemos mover Nicaragua y Panamá hasta un poco, digamos a 2 horas):

generación pos = 3reemplazar pos = 11 si los países == "TrinidadTobago"reemplazar pos = 9 si el país == "CostaRica"reemplazar pos = 2 si el país == "Panamá" | == país "Nicaragua"

El gráfico a continuación, se ve de la siguiente manera

gráfico de dos vías (ajuste lfitci cambio) / / / (Ajuste de dispersión cambio, mlabel (país) mlabv (pos))

3.1.4 Los títulos, leyendas y títulos

Hay opciones que se aplican a todas las gráficas de dos vías, incluyendo títulos, etiquetas y leyendas. Gráficas de Stata puede tener un título () y subtítulo (), por lo general en la parte superior, y una leyenda () , nota () y título () , por lo general en la parte inferior, escriba title_options ayudar a aprender más. Por lo general, un título es todo lo que necesita. Stata 11 permite que el texto en gráficos para incluir negritas, cursivas, las letras griegas, símbolos matemáticos, y una selección de tipos de letra, tipo de texto gráfico ayuda a aprender más.

Nuestro último truco en el gráfico 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") opción de la leyenda para marcar el segundo y el primero en ese orden. También utilizamos anillo (0) para mover la leyenda dentro del área de trazado, y pos

Page 28: tutorial introducción a Stata

(5) para colocar el cuadro de la leyenda, cerca de la posición de las 5. Nuestro comando completo es entonces

gráfico de dos vías (ajuste lfitci cambio) / / / (Ajuste de dispersión cambio, mlabel (país) mlabv (pos)) / / / , Título ("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 gráfico que se muestra al comienzo de esta sección. (Si el gráfico se ve un poco diferente es probablemente porque hemos utilizado diferentes esquemas de color. Usé una versión personalizada de s2color . Consulte 3.2.5 para obtener más información 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 aritmética, registro, o se invierte, escriba axis_scale_options ayudar a obtener más información. Otras opciones de controlar la colocación 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 línea

Voy a ilustrar trazos de línea 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é más está disponible.)

sysuse uslifeexp

La idea es trazar la esperanza de vida para los hombres blancos y negro durante el siglo 20. Una vez más, para abrir el apetito Voy a empezar por mostrar que el producto final, y luego vamos a construir el gráfico poco a poco.

Page 29: tutorial introducción a Stata

5.2.1 Un esquema lineal simple

La forma más sencilla trama utiliza todos los valores predeterminados:

gráfico twoway línea le_wmale años le_bmale

Si usted está confundido por la caída antes de 1920, Google "EE.UU. la esperanza de vida 1918". Podemos abreviar la orden de línea de dos vías , o incluso la línea si eso es todo lo que están tramando. (Este método abreviado sólo funciona para dispersión y línea ).

La línea de trama permite especificar más 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, podríamos haber utilizado dos trazos de línea: (line le_wmale años) (años le_bmale línea) .

5.2.2 Títulos y Leyendas

El gráfico por defecto es bastante bueno, pero la leyenda parece demasiado prolijo. Vamos a pasar la mayor parte de la información que el título y mantener la etnicidad sólo en la leyenda:

gráfico twoway línea le_wmale le_bmale año / / / , Título ("Esperanza de vida de EE.UU.") subtítulo ("Hombres") / / / leyenda (orden (1 "blanco" 2 "negro"))

Aquí hemos utilizado tres opciones, que como es habitual en Stata van después de una coma: título , subtítulo yleyenda . La leyenda opción tiene muchas opciones sub, hemos utilizado el

Page 30: tutorial introducción a Stata

fin de enumerar las claves y sus etiquetas, diciendo que la primera línea representa los blancos y los negros segundos. Para omitir la clave que acaba de dejar fuera de la lista. Para añadir texto sin una clave coincidente utilizar un guión (o el signo menos) para la clave. Hay muchas opciones de leyenda otras aplicaciones, vea legend_option ayudar a aprender más.

Nos gustaría utilizar el espacio un poco mejor moviendo la leyenda dentro del área de trazado, por ejemplo en torno a la posición de las 5, en la mejora de la esperanza de vida ha dejado algo de espacio libre. Como se señaló anteriormente, podemos mover la leyenda dentro del área de trazado mediante el uso de anillo (0) , el "círculo 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 () :

gráfico twoway línea le_wmale le_bmale año / / / , Título ("Esperanza de vida de EE.UU.") subtítulo ("Hombres") / / / leyenda (orden (1 "blanco" 2 "negro") anillo (0) pos (5))

5.2.3 Estilos de línea

Yo no sé ustedes, pero me resulta difícil distinguir las líneas de omisión en la trama. Stata permite controlar el estilo de línea de diferentes maneras. El clstyle () opción le permite usar un estilo con nombre, como primer plano , red ,yxline o p1-p15 para los estilos utilizados por las líneas 1 a 15, ver lineStyle ayudar . Esto es útil si usted quiere recoger sus elementos de estilo a partir de un esquema , como se señala más adelante.

Como alternativa, puede especificar los tres componentes de un estilo: el patrón de línea, ancho y color:

Los patrones se especifica mediante el clpattern () opción. Los patrones más comunes son sólidos , guión , ypunto , véase linepatternstyle ayuda para más información.

Ancho de línease especifica mediante clwidth () , las opciones disponibles son delgadas , medianas y gruesas , consulte h elp linewidthstyle más.

Los colores se pueden especificar mediante la clcolor () opción 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:

gráfico de dos vías (línea le_wmale años le_bmale, clcolor (azul rojo)) / / / , Título ("Esperanza de vida de EE.UU.") subtítulo ("Hombres") / / /

leyenda (orden (1 "blanco" 2 "negro") anillo (0) pos (5))

Tenga en cuenta que clcolor () es una opción de la trama de línea, por lo que poner paréntesis alrededor de la líneade 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 logarítmica, donde una línea recta indicaría una mejora constante por ciento. Esto se hace fácilmente utilizando las opciones del comando de eje de doble sentido, véase ayudar axis_options , y en particular yscale () , que le

Page 31: tutorial introducción a Stata

permite elegir la aritmética , registro , o invertidos escalas. También hay una subopción 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:

gráfico de dos vías (línea le_wmale años le_bmale, clcolor (azul rojo)) / / / , Título ("Esperanza de vida de EE.UU.") subtítulo ("Hombres") / / / leyenda (orden (1 "blanco" 2 "negro") anillo (0) pos (5)) / / / yscale (log rango (25 80))

3.2.5 Esquemas Gráfico

Stata utiliza esquemas para controlar el aspecto de los gráficos, consulte la ayuda esquema . Puede establecer el esquema por defecto que se utilizará en todos los grafos con conjunto scheme_name . También puede volver a mostrar el gráfico (última) con un esquema diferente con display gráfico, esquema ( scheme_name ).

Para ver una lista de los planes disponibles tipo de consultas gráfico, esquemas. Trate s2color para los gráficos 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 gráfica que se muestra al inicio de esta sección.

gráfico de pantalla, esquema (economista)

3.3 Gestión de los gráficos

Stata realiza un seguimiento del último gráfico que ha dibujado, que se almacena en la memoria, y lo califica de "Gráfico".En realidad se puede mantener más de un gráfico en la memoria si se utiliza el nombre ( ) la opción de nombrar el gráfico cuando lo cree. Esto es útil para combinar gráficos, tipo gráfico ayudar a combinar para obtener más información.Tenga en cuenta que los gráficos guardados en la memoria desaparecen al salir de Stata, incluso si guarda los datos, a menos que guarde la misma gráfica.

Para guardar el gráfico actual en el disco con el formato propio de Stata, el tipo de gráfico guardar nombre de archivo . Este comando tiene dos opciones, sustituir , que tiene que utilizar si el archivo ya existe, y asis , que congela el gráfico (incluyendo su actual estilo) y luego lo guarda. El valor predeterminado es guardar el gráfico en un formato en vivo que se puede editar en sesiones futuras, por ejemplo cambiando el esquema. Después de guardar un gráfico en formato Stata se puede cargar desde el disco con el comando uso gráfico de nombre de archivo . (Tenga en cuenta que guardar el gráfico y el uso de gráfica son análogos a ahorrar y utilizar los archivos Stata.) Cualquier gráfico almacenado en la memoria se pueden visualizar con display gráfico . (También puede enumerar, describir, renombrar, copiar o gráficos gota almacenados en la memoria, escriba graph_manipulation ayudar a aprender más.)

Si tiene previsto incorporar el gráfico en otro documento en el que probablemente tendrá que guardarlo en un formato más portátil. Stata comando gráfico exportación nombre de archivo puede exportar el gráfico utilizando una amplia variedad de formatos vectoriales o raster, que normalmente se entiende a partir de la extensión 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 resolución, por lo que es mejor para su inclusión en otros documentos en los que pueden cambiar de tamaño. raster formatos como Portable Network Graphics (PNG) guardar la imagen píxel a píxel con la resolución de pantalla actual, y son los mejores para su inclusión en las páginas web.

Page 32: tutorial introducción a Stata

También puede imprimir un gráfico con impresión gráfica , o copiar y pegarlo en un documento utilizando el portapapeles de Windows, para ello haga clic derecho en la ventana que contiene el gráfico a continuación, seleccione Copiar en el menú contextual.

4. Programación Stata

Esta sección es una introducción suave a la programación de Stata. Se discuten las macros y bucles , y mostrar cómo 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 interés en el estudio. Sin embargo, el material de cubierta le ayudará a utilizar Stata con mayor eficacia.

Stata 9 introdujo un nuevo lenguaje de programación de matriz y muy potente llamado Mata . Esto amplía las herramientas del programador mucho más allá de las herramientas de sustitución 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, clásico programación Stata.

Para obtener más información acerca de la programación Stata usted debe leer el capítulo 18 de la Guía del usuario y, a continuación se refieren a la programación de volumen y / o la ayuda en línea 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 Sección 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 sólo 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 ' . (Nótese 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 millón en Stata SE). El texto está a menudo entre comillas, pero no tiene que ser.

Ejemplo: Variables de control en la regresión.

Tiene que ejecutar un montón de ecuaciones de regresión que incluyen un conjunto estándar de variables de control, por ejemplo la edad , agesq , la educación y los ingresos . Usted puede, por supuesto, escribir estos nombres en cada ecuación, ya que podría 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 educación ingresos

A continuación, escribir comandos, tales como

Page 33: tutorial introducción a Stata

retroceder los resultados del tratamiento `control '

que en este caso es exactamente lo mismo que escribir el resultado regresión tratamiento edad agesq renta educación .

Si sólo hay una regresión 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 también tiene la ventaja de que si más adelante su asesor insiste en que debería haber usado registro de ingresos en vez del ingreso como control, todo lo que tiene que hacer es cambiar la definición 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 : Evaluación de una macro que no existe no es un error, sino que sólo devuelve una cadena vacía. Así que ten cuidado de escribir correctamente los nombres de macro. Si escribe una regresión resultado del tratamiento contrls `' , Stata leerá el resultado del tratamiento retroceso , porque la macro contrls no existe. Lo mismo sucedería si se escribe `control ' porque los nombres de macro no puede ser la forma abreviada nombres de las variables pueden. De cualquier manera, la regresión se ejecutará sin ningún control. Pero siempre verificar su salida, ¿no?

Ejemplo: Gestión de variables ficticias

Supongamos que usted está trabajando con una encuesta demográfica donde la edad se ha agrupado en grupos de cinco años y acaba de ser representados por siete muñecos, digamos age15to19 a age45to49 , seis de los cuales serán utilizados en sus regresiones. Definir una macro

edad local "age20to24 age25to29 age30to34 age35to39 age40to44 age45to49"

y luego en sus modelos de regresión usar algo como

regresión ceb 'edad' urbano

que no sólo es más corto y más legible, pero también más cerca de lo que piensa, lo que es volver ceb en "edad", que pasa a ser un montón de dummies. Esto también hace que sea más fácil cambiar la representación de la edad, y si más adelante decide utilizar términos lineales y cuadráticos en lugar de los seis muñecos de todo lo que hacemos es definirlocal, la edad "edad agesq" y vuelva a ejecutar sus modelos. Tenga en cuenta que la primera aparición de edadaquí es el nombre de la macro y la segunda es el nombre de una variable. He utilizado las comillas para hacer el código más 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 evalúa. Por ejemplo, si define los controles locales 'edad' educación 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 evaluación de carácter macro cuando se define la macro, escriba controles locales \ 'edad' educación ingresos . Ahora Stata no evalúa la macro (pero se come el carácter de escape), por lo

Page 34: tutorial introducción a Stata

que el contenido de los controles se convierte en 'edad' educación ingresos . Cuando el control de macro se evalúa, Stata ve que incluye la macro de edad y sustitutos de su contenido actual.

En caso de que una sustitución se produce cuando la macro se define, en la otra cuando se evalúa.

4.1.2 Memorización de los resultados en macros locales

El segundo tipo de definición 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 expresión, evaluar y almacenar una representación de texto del resultado con el nombre dado.

Supongamos que usted acaba de ejecutar una regresión y desea almacenar la resultante R-cuadrado, para la comparación con una regresión después. Usted sabe que retroceder tiendas R-cuadrado en e (r2) , por lo que creolocales e rsq (r2) que hacer el truco.

Pero no lo hace. La macro almacenada la fórmula e (r2) , como se puede ver escribiendo pantalla "` rsq '" . Lo que usted necesita para almacenar era el valor. La solución es escribir locales RSQ = e (r2) , con un signo igual. Esto hace que Stata para evaluar la expresión y almacenar el resultado.

Para ver la diferencia probar este

sysuse auto, claroregresión peso mpglocales e rsqf (r2)locales rsqv = e (r2)di `rsqf '/ / esto tiene la actual R-cuadradodi `rsqv '/ / como lo haceregresión mpg peso extranjeradi `rsqf '/ / La fórmula tiene el nuevo R-cuadradodi `rsqv '/ / este chico tiene el viejo

Otra forma de evaluación de la fuerza es encerrar e (r2) entre comillas simples cuando se define la macro. Esto se llama una expresión de macro , y también 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 pasaría si escribepantalla "`` rsqf''" ?)

Una forma alternativa de almacenar los resultados para su uso posterior es usar escalares (tipo escalares de ayudapara obtener más información.) Esto tiene la ventaja de que Stata almacena el resultado en formato binario sin pérdida de precisión. Una macro almacena una representación de texto que es bueno sólo para unos 8 dígitos. 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 más adelante).

Usted puede utilizar el signo igual cuando se están almacenando texto, pero permítanme decir por qué esto no es siempre una buena idea. Podríamos haber dicho control local = "edad de ingreso agesq educación" y esto habría funcionado. Nótese el uso de citas para asegurarse de que el lado derecho es una expresión, 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 más largo que se ha señalado (Tipo límites de ayuda que se le recuerde).

4.1.3 Distribución del teclado con macros globales

Page 35: tutorial introducción a Stata

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 aplicación útil, sin embargo, consiste en asignar las teclas de función del teclado. Si usted trabaja en una carpeta de red compartida con un nombre muy largo intentar algo como esto

mundial F5 \ \ servidor \ compartido \ Investigación \ 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. Solución? 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 más.

4.1.4 Más sobre Macros

Las macros también se pueden utilizar para obtener y almacenar información 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 característica que puede venir a mano en la programación.

También hay comandos para administrar tu colección de macros, incluyendo lista macro y macro gota . Escriba ayuda macro para aprender más.

4,2 Looping

Los bucles se utilizan para realizar tareas repetitivas. Stata tiene comandos que permiten recorrer secuencias de números y varios tipos de listas, incluidas las listas de variables.

Antes de empezar, sin embargo, no hay que olvidar que Stata hace un montón de bucle por sí mismo. Si desea calcular el logaritmo de los ingresos, puede hacer que en Stata con una sola línea:

gen logincome = log (ingreso)

Esta bucles implícitamente sobre todas las observaciones, calcular el logaritmo de cada ingreso, en lo que a veces se llama una vectorizado operación. Usted podría codificar el mismo circuito, pero no porque si (i) no es necesario, y (ii) el código será mucho más lento que Stata incorporado el lazo.

4.2.1 recorrer secuencias de números

El comando de bucle básico toma la forma

Page 36: tutorial introducción a Stata

forvalues número de secuencia = { ... cuerpo del bucle usando `número '...}

Aquí forvalues es una palabra clave, el número es el nombre de una macro local que se ajustará a cada número en la secuencia, y la secuencia es un rango de valores que pueden tener la forma

min / max para indicar una secuencia de números 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 tamaño 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 más clara, consulte ayudar forvalues para las alternativas.)

La llave de apertura izquierda debe ser la última cosa en la primera línea (aparte de comentarios), y el bucle debe ser cerrada por un corsé a juego a la derecha en una línea por sí mismo. El bucle se ejecuta una vez para cada valor de la secuencia con la macro local de número (o como se llama) que contiene el valor.

Creación 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 años y luego usar tabulage AGEG, gen (AGEG) tener Stata generar los maniquíes, pero rápido, ¿cuál es ageg3 ? Aquí hay una alternativa que conduce a mejores nombres de variables:

forvalues bot = 20 (5) 45 {superior local = 'bot' + 4Gen 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 más 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 límites inferiores de los grupos de edad.

Dentro del bucle se crea una macro locales top para representar los límites superiores de los grupos de edad, lo que equivale al límite más bajo más 4. La primera vez a través 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 línea es una simple declaración generate. La primera vez a través del bucle de la línea dirá gen age20to24 = edad> = 20 y edad <= 24 , como se puede ver al hacer la sustitución 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 genérica:

Page 37: tutorial introducción a Stata

foreach artículo a-lista-de-cosas {... cuerpo del bucle usando `item '...

}

Aquí foreach es una palabra clave, artículo es un nombre de macro local de su propia elección, en otra palabra clave, y lo que viene después 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 importaría porque la lista es genérica.

Si querías un bucle sobre una secuencia irregular de los números por ejemplo que tenía 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 específicos de listas que ahora describen brevemente.

Las listas de variables

Tal vez el más ú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 sólo eso, una lista de los actuales nombres de las variables se escriben utilizando las convenciones estándar 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 var1-var3 para referirse a las variables var1 a var3 .

Las ventajas de este lazo sobre el genérico 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.

Page 38: tutorial introducción a Stata

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 sección sobre macros locales:

foreach control de mando local {mostrará "` control '"

}

Es de suponer que iba a hacer algo más interesante que simplemente una lista de los nombres de variables. Debido a que estamos recorrer las variables del conjunto de datos que podría haber logrado el mismo fin mediante foreach con unalista de variables , aquí se guarda la comprobación.

Las listas de números

Stata también tiene un foreach variante que se especializa en las listas de números (o numlists en Stataspeak) que no pueden ser manejados con forvalues .

Supongamos que una encuesta tenía una línea 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 año de numlist 1980 1985 1995 {mostrará "` El año '"

}

Por supuesto que iba a hacer algo más interesante que simplemente imprimir los años. El numlist podría 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 más ejemplos.

La ventaja de este comando sobre el genérico foreach es que Stata se compruebe que cada uno de los elementos de la lista de números es de hecho un número.

4.2.4 Looping para un bien

En común con muchos lenguajes de programación, Stata también tiene un tiempo de bucle, que tiene la estructura siguiente

mientras la condición {... hacer algo ...

}

donde la condición es una expresión. El bucle se ejecuta mientras la condición es verdadera (distinta de cero). Por lo general, algo que sucede dentro del bucle para que la condición falsa, de lo contrario el código se ejecutaría para siempre.

Page 39: tutorial introducción a Stata

Un uso típico de tiempo en los procedimientos de estimación 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 número 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 iteración actual y continúa con el siguiente, a menos descanso se especifica en cuyo caso se sale del bucle.

4.2.5 Ejecución condicional

Stata también tiene una si el comando de programación, 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 expresión {... comandos que se ejecutan si la expresión es verdadera ...

}else {

... bloque opcional que se ejecuta si la expresión es falsa ...}

Aquí si las opcionales más son palabras claves, tipo exp ayuda para una explicación de las expresiones. La llave de apertura { debe ser lo último en una línea (aparte de comentarios) y la llave de cierre } debe estar en una línea nueva por sí mismo.

Si el caso o más piezas constan de un comando único que puede ir en la misma línea sin tirantes, como en el caso de comando expresión . Pero si la expresión {command} no es legal. Usted podría utilizar las llaves al difundir el código en tres líneas, y esto a menudo mejora la legibilidad del código.

Así que aquí tenemos un lazo tonto donde salir después 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 diversión 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 gráfico de la siguiente manera:

Page 40: tutorial introducción a Stata

4.3.1 Programas sin argumentos

Vamos a desarrollar un comando que ayuda a etiquetar su salida con su nombre y dirección de correo electrónico. (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 más fácil desarrollar un comando es comenzar con un do de archivos. Arranca do-archivo de Stata editor (Ctrl-8) y escriba:

capturar signo programa gotaprograma define signo

versión 9.1mostrar como texto Rodriguez "alemán "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 declaración 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 versión declaración dice que este mandato se ha desarrollado para la versión 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 línea 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

Page 41: tutorial introducción a Stata

visualización de texto, y hline {62} dibuja una regla horizontal exactamente 62 caracteres de ancho. Para obtener más información 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 información a ellos, en forma de "argumentos" se escribe después del comando. Vamos a escribir un comando que se hace eco de lo que dices

capturar eco programa gotadefinir el programa de eco

versión 9.1mostrar como texto "` 0 '"

final

Pruebe a escribir Programación 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 sería 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 código de visualización "` 0 '" .)

Si no se especifica nada, la macro local, 0 será una cadena vacía, el comando leerá mostrará "" y Stata se imprimirá una línea en blanco.

4.3.3 Cotizaciones compuestos

Antes de salir a celebrar que tenemos que arreglar un pequeño problema con nuestro nuevo comando. Pruebe a escribir echo La suerte "final" de ejecución. Stata se quejará. ¿Por qué? Porque después de la sustitución de macros el comando de visualización lo más 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 válido. 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 más.

La solución a nuestro problema? Stata comillas Dobles mixto : `" para abrir y "' para cerrar, como en `" comillas "compuestos" . Debido a que los símbolos 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.

Page 42: tutorial introducción a Stata

Así que nuestro programa debe mostrar `" `0 '"' . Aquí está la versión final.

definir el programa de eco versión 9.1 si `" `0 '"'! = "" pantalla como texto `" `0 '"'final

Te darás cuenta de que me deshice de la caída de línea de captura . Esto se debe a que ahora estamos listos para guardar el programa como un trámite archivo. Escriba sysdir para averiguar cuál es su directorio personal ado es, a continuación, 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 ningún funcionario de comandos Stata llamado eco . Para ello he escrito que echo . Stata respondió "comando no encontrado eco, ya sea integrado o preámbulos de archivos". Por supuesto, hay no hay garantía de que no va a escribir uno, Stata se reserva todas las palabras inglesas).

4.3.4 Argumentos posicionales

Además 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 haría algo con `1 ' y luego pasar a la siguiente. El comando de cambio de mac es muy útil a continuación, 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á vacía y ya está.

Así que aquí está el programa canónico que enumera sus argumentos

capturar eco programa gotadefinir el programa de eco

versión 9.1mientras 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 cómo se puede agrupar palabras en un solo argumento mediante el uso de comillas.

Este método es útil, ya veces uno se puede dar los argumentos de los nombres más reconocibles utilizando argumentos , pero vamos a pasar al siguiente nivel, que es mucho más potente y robusto.

Page 43: tutorial introducción a Stata

(Por cierto que uno puede pasar argumentos no sólo a los comandos, pero para hacer archivos también. Tipo de ayuda hacer para aprender más.)

4.3.5 mediante la sintaxis de Stata

Si el comando utiliza la sintaxis estándar de Stata, lo que significa que los argumentos son una lista de variables, posiblemente un peso, tal vez un caso o en la cláusula, y tal vez un montón 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, desviación estándar, y la proporción 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 años exactos, y una opción obligatorio especificar una nueva variable que se genere con las proporciones casados. También hay opciones para especificar la media, la desviación estándar y la proporción cada vez se casó en el programa, todos ellos con valores por defecto. He aquí un primer corte en el símbolo

capturar pnupt programa gotaprograma define pnupt

versión 9.1varname 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 fácil 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 mínimos y máximos, por ejemplo, un programa que requiere exactamente dos variables diría varlist (min = 2 máximo = 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 almacenarán en un local llamado macro varlist . (La macro se llama siempre varlist , incluso si sólo 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 programación de antes, y que pasó del 75% de su tiempo a escribir cheques para errores de entrada y sólo el 25% se centra en la tarea en cuestión, que realmente apreciarán la sintaxis de comandos. Hace un montón de comprobación de errores para usted. )

Page 44: tutorial introducción a Stata

Opciones y valores predeterminados

Los elementos opcionales de sintaxis están encerrados entre corchetes [ y ] . En nuestro comando generate opción es obligatoria, pero los otros tres son opcionales. Pruebe estos comandos para generar un conjunto de datos pequeña prueba con una variable de rango de edades entre 15 a 50

caer _allestablecer obs 36Gen edad = 14 + _n

Ahora intenta edad pnupt . Esta vez Stata es feliz con la edad , pero requiere "opción 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 opción se almacena en una macro local con el mismo nombre que la opción, aquígenerar .

Comprobación Argumentos

Ahora tenemos que hacer un poco de trabajo para verificar que el nombre es un nombre válido de variable, lo que hacemos con confirmar :

Confirmar nueva variable `generate '

Stata comprueba entonces que usted podría de hecho generar esta variable, y si no las cuestiones error 110. Trate deedad pnupt, gen (edad) y Stata dirán "era ya definido.

Debe quedar claro a estas alturas que Stata comprobará que si se especifica un media, desviación estándar o porcentaje cada vez casado, abreviado como m () , s () y p () , serán números reales, que se almacenarán en locales macros denominado decir , STDEV y pem . Si una opción se omite la macro local contendrá el valor predeterminado.

Usted podría hacer más controles en la entrada. Vamos a hacer una rápida comprobación de que los tres parámetros son no negativos y la proporción no es más que uno.

if (`significa '<= 0 |` STDEV' <= 0 | `pem '<= 0 |` pem'> 1) {di como error "Parámetros no válidos"salida 110

}

Podrías ser más amable con los usuarios y tener cuentas separadas para cada parámetro, pero esto va a hacer por ahora.

Variables temporales

Ahora estamos listos para hacer algunos cálculos. Tomamos ventaja de la relación entre el modelo de Coale-McNeil y la distribución gamma, como se explica en Rodríguez y Trussell (1980). He aquí una versión de trabajo del programa

Page 45: tutorial introducción a Stata

programa define pnupt*! Coale-McNeil acumulativo nupcialidad horario v1 GR 24-Feb-06

versión 9.1varname 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 "Parámetros no válidos"salida 198

}tempname zgGen `z '= (lista de variables`' - 'significa') / STDEV `Gen `g '= gammap (0,604, exp (-1,896 * (` z' + 0.805)))Gen `generate '=` pem' * (1 - 'g')

final

Podríamos haber escrito la fórmula de la probabilidad en una línea, pero sólo a costa de sacrificar la legibilidad. En lugar de eso primero estandarizar edad, restando la media y dividiendo por la desviación estándar. ¿Qué podemos llamar a esta variable? Usted puede tener la tentación de llamarlo z , pero lo que si el usuario de su programa tiene una variable llamada z ? Posteriormente se evalúa la función gamma. ¿Qué podemos llamar el resultado?

La solución 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 características de las variables temporales es que desaparecen automáticamente cuando el programa termina, por lo que Stata hace la limpieza por usted.

La línea de generación `z '= (lista de variables`' - 'significa') / `STDEV ' probablemente se parece un poco extraño al principio. Recuerde que todas las cantidades de interés se almacenan ahora en macros locales y tenemos que evaluar a llegar a ninguna parte, de ahí la profusión 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 desviación estándar. Después de la sustitución de macros esta línea va a leer algo como gen000001 = (edad 22.44) / 5,28 , lo que probablemente hace mucho más sentido.

Si / A

Usted podría considerar que permite al usuario especificar si y en condiciones para su comando. Estos tendrían que ser añadido a la sintaxis, donde se almacenaría en macros locales, que puede entonces utilizarse en los cálculos, en este caso pasa a lo largo de generar.

Para una discusión más detallada de este tipo de sujeto sintaxis de ayuda y seleccionar si y luego en . La entrada enmarca ayuda también es relevante.

4.3.6 Creación 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 sería bueno si pudiéramos utilizar un egen tipo de comando como este:

egen casado = pnupt (edad), media (22,48) STDEV (5,29) pem (0,858)

Page 46: tutorial introducción a Stata

Bueno, se puede! Da la casualidad de egen es de uso extensible. Para implementar una función llamada pnupt usted tiene que crear un programa (archivo ado) llamado _gpnupt , es decir, añadir el prefijo _g . La documentación sobre las extensiones Egen es un poco escaso, pero una vez que conozca este hecho básico todo lo que tiene que hacer es mirar en la fuente de un egen comando y cópielo. (Miré _gmean .)

Así que aquí está la egen versión de nuestro Coale-McNeil comando.

programa define _gpnupt*! Coale-McNeil acumulativo nupcialidad horario v1 GR 24-Feb-06

versión 9.1newvarname sintaxis = / exp [, media (real 25) STDEV (real 5) Pem (real 1)]si `significa '<= 0 |` STDEV' <= 0 | `pem '<= 0 |` pem'> 1 {

mostrar como error "Parámetros no válidos"salida 198

}tempname zgGen `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 expresión, 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 generación creavarlist . El misterioso typlist está ahí porque egen le permite especificar el tipo de la variable de salida ( flotaciónpor defecto) y que se pasa a nuestra función, que pasa a lo largo de gen .

4.3.7 Un ajuste Coale-McNeil

Estamos dispuestos a revelar cómo la trama inicial se produjo. Los datos están disponibles en un archivo de Stata en el sitio web del curso demografía, y tiene cargos de mujeres alguna vez casadas y solteras de edad. Calculamos la proporción observada casado, calcular los valores ajustados sobre la base de las estimaciones de Rodríguez y Trussell (1980), y graficar los resultados. Todo se hace en un puñado de líneas

utilizar http://data.princeton.edu/eco572/datasets/cohhnuptgen obs = nunca / totalegen ajuste = pnupt (edad +0,5), la media (22,44) STDEV (5,28) pem (0.858)gen agem = edad + 0,5dos vías (Dispersión obs AGEM) (línea de ajuste AGEM), / / / título (Casado proporciones por edad) subtítulos (Colombia 1976) / / /

ytitle (Proporción casado) xTitle (edad)

La estimación actual se puede implementar utilizando procedimientos de máxima verosimilitud de Stata, pero eso es una historia para otro día.

4.4 Otros temas

Por falta de tiempo y espacio no hemos hablado de devolver valores desde el programa, escriba Ayuda Regresar a aprender más. Para temas relacionados sobre los comandos de estimación que puede crear resultados de la estimación ver ayudar ereturn y _estimates

Page 47: tutorial introducción a Stata

ayuda . Una referencia imprescindible en la estimación es estimación de máxima verosimilitud con Stata por Gould, Pitblado y Sribney (2003).

Otros temas de interés son matrices (comenzar con matriz de ayuda ), y cómo hacer que los comandos "byable" (tipobyable ayuda ). Para la salida seria que necesita para aprender más acerca de SMCL, comience con SMCL ayuda . Para trabajos en los gráficos es posible que desee estudiar programación de clases ( clase de ayuda ) y aprender acerca de sersets ( ayuda serset ). Para proporcionar una interfaz gráfica de usuario para el comando de intentar ayudar a la programación de diálogo . Es posible leer y escribir archivos de texto y binarios (véase 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 también ha disminuido con la disponibilidad de Mata.