INTRODUCCION A STATA
www.daxrox.com
Statistical Services Group Mayo 2011
SSGC
Introduccin a Stata, Mayo 2011
Introduccin
Qu es Stata?
Introduccin
Stata. Stata es una herramienta de anlisis estadstico poderosa, existente tanto para Windows como para MacOs, con diferentes versiones segn su capacidad de variables, memoria, optimizacin de recursos y uso de los procesadores (Stata IC/SE/MP). Mata. Lenguaje de programacin matricial, utilizado por Stata, que incluye una gran librera de funciones para trabajar con matrices, y su sintaxis es parecida a Java o a C++.
SSGC
Introduccin a Stata, Mayo 2011
Introduccin
Qu es Mata?
Introduccin
Stata. Stata es una herramienta de anlisis estadstico poderosa, existente tanto para Windows como para MacOs, con diferentes versiones segn su capacidad de variables, memoria, optimizacin de recursos y uso de los procesadores (Stata IC/SE/MP). Mata. Lenguaje de programacin matricial, utilizado por Stata, que incluye una gran librera de funciones para trabajar con matrices, y su sintaxis es parecida a Java o a C++.
SSGC
Introduccin a Stata, Mayo 2011
Introduccin
Ventajas de Stata
Ventajas
Portabilidad Facilidad Versatilidad Programacin Uso eficiente del hardware
Fortalezas
- Manipulacin de datos - Anlisis estadstico - Grficos.
SSGC
Introduccin a Stata, Mayo 2011
Introduccin
Fortalezas de Stata
Ventajas
- Portabilidad - Facilidad - Versatilidad - Programacin - Uso eficiente del hardware
Fortalezas
- Manipulacin de datos - Anlisis estadstico - Grficos.
SSGC
Introduccin a Stata, Mayo 2011
Introduccin
Anlisis estadstico
Anlisis estadstico
Estadsticos descriptivos Pruebas de hiptesis Anlisis multivariado ANOVA Regresin Anlisis de Series Temporales.
SSGC
Introduccin a Stata, Mayo 2011
Introduccin
Grficos
Grficos
Grficos personalizables 2D de alta calidad. Schemas. Programacin. Concepto de capas
SSGC
Introduccin a Stata, Mayo 2011
Instalacin
Configuracin Memoria
Instalacin - Versiones: IC, SE, MP. - Personalizacin Entorno Trabajo. - Configuracin Memoria y Procesador.
SSGC
Introduccin a Stata, Mayo 2011
Instalacin
Configuracin Memoria
Instalacin - Versiones: IC, SE, MP. - Personalizacin Entorno Trabajo. - Configuracin Memoria y Procesador.
set mem 3g set mem 3g, perm set maxvar 2000, perm set
SSGC
Introduccin a Stata, Mayo 2011
Instalacin
Soporte y actualizaciones
Soporte
- findit - Statlist - Documentacin en PDF
Actualizaciones
-
Gratis durante periodo de licencia Automticas/En Lnea.
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Pantalla Inicial
Pantalla Inicial Ventana de comandos Ventana de resultados Visualizador de datos Editor de datos. Ventana de variables. Ventana de Revisin
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Ayuda
Uso de la ayuda
Para obtener la ayuda sobre cualquier tpico podemos acceder directamente desde el men o escribir la palabra help delante de cualquier comando en la ventana de comandos: help <comando>
help regress
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Guardando el trabajo.
Archivos Logs
Creacin de archivos. Para ir grabando todos los comandos y resultados utilizamos el comando log, por ejemplo: log using cursoST genera un archivo en el directorio de trabajo llamado tema3, que se puede abrir tanto en Stata como en cualquier editor de texto. Cuando hemos terminado nuestra sesin de trabajo utilizamos log close
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Configurando directorios
Configuracin de directorio de trabajo.
El directorio de trabajo (donde se guardan los archivos logs) se muestra en la parte inferior izquierda de la pantalla de Stata. Si por alguna razn queremos cambiarlo utilizamos el comando cd. Por ejemplo cd c:\
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Abriendo archivos
Abriendo un archivo
Para abrir un archivo, utilizando el men: File> Open> especificamos nombre del archivo.
use D:\SSGC\Ejemplos\Ventas.dta, clear **** o podemos hacerlo ***** clear use D:\SSGC\Ejemplos\Ventas.dta
Desde MS-Excel o Texto
insheet using D:\SSGC\Ventas.txt, clear
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Guardando archivos
Guardando un archivo
Para guardar un archivo, utilizando el men: File> Save> especificamos nombre del archivo. El formato de los archivos de Stata es .dta. save Tema1 crea un archivo en el directorio de trabajo (Vase Configurando directorio de trabajo) de extensin .dta.
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Guardando archivos
Guardando un archivo
Para guardar un archivo, utilizando el men: File> Save> especificamos nombre del archivo. El formato de los archivos de Stata es .dta. save Tema1 crea un archivo en el directorio de trabajo (Vase Configurando directorio de trabajo) de extensin .dta. Si el archivo existe aparece un mensaje de error a menos que utilicemos la opcin replace: save Tema5b, replace Tambin podemoso exportarlos (File>Export).
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Por qu comandos?
Por qu usar comandos? - Reproducibilidad
-
Ventajas con respecto al click. Exploracin de modelos alternativos Transportabilidad.
Extensibilidad.
-
Permite acceder a una mayor gama de opciones que los mens. Incoporacin de nuevas funcionalidades.
Programacin
- Infinitamente til.
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Por qu comandos?
Por qu usar comandos? - Reproducibilidad
-
Ventajas con respecto al click. Exploracin de modelos alternativos Transportabilidad.
Extensibilidad.
-
Permite acceder a una mayor gama de opciones que los mens. Incoporacin de nuevas funcionalidades.
Programacin
- Infinitamente til.
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Por qu comandos?
Por qu usar comandos? - Reproducibilidad
-
Ventajas con respecto al click. Exploracin de modelos alternativos Transportabilidad.
Extensibilidad.
-
Permite acceder a una mayor gama de opciones que los mens. Incoporacin de nuevas funcionalidades.
Programacin
- Infinitamente til.
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Mi primer programa
Ejemplo:
program define hola display "Bienvenidos a Stata, Disfruten!" end exit
Grabar como C:\Program Files\Stata\Ado\Base\hola.ado
SSGC Introduccin a Stata, Mayo 2011
Iniciando en Stata
Mi primer programa
Ejemplo:
program define hola display "Bienvenidos a Stata, Disfruten!" end exit
Grabar como C:\Program Files\Stata\Ado\Base\hola.ado - Ya hizo su primer programa
SSGC Introduccin a Stata, Mayo 2011
Iniciando en Stata
Mi primer programa
Ejemplo:
program define hola display "Bienvenidos! a Stata, Disfruten!" end exit
Grabar como C:\Program Files\Stata\Ado\Base\hola.ado !Ya hizo su primer programa! As de sencillo.
SSGC Introduccin a Stata, Mayo 2011
Iniciando en Stata
Sintaxis de los comandos
Sintaxis en Stata: - Los comandos siguen una plantilla. - Sensible a las maysculas. Sintaxis General de los comandos: [prefijo_cmd:] cmdnombre[varlist] [=exp] [if exp] [in rango] [peso] [usando...] [,optiones]
Ej:
count
SSGC Introduccin a Stata, Mayo 2011
Iniciando en Stata
Sintaxis de los comandos
Componentes - varlist: lista de variables sobre la cual el comando opera: Ejemplos:
summarize var1 drop var1-var10 keep var*
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Sintaxis de los comandos
Componentes - varlist: lista de variables sobre la cual el comando opera: Ejemplos (con wildcards):
summarize var1 drop var1-var10 keep var* list mes_?_dia_1
SSGC Introduccin a Stata, Mayo 2011
Iniciando en Stata
Sintaxis de los comandos
Componentes de los comandos - exp: se utiliza donde se requiere una expresin algebraica para generar o cambiar alguna variable. Operadores: ==, &, !, |, ^, + (Numerico y Literales) Ejemplos:
gen tiempo=_n gen tiempo2=tiempo^2
SSGC Introduccin a Stata, Mayo 2011
Iniciando en Stata
Sintaxis de los comandos
Componentes de los comandos - exp: se utiliza donde se requiere una expresin algebraica para generar o cambiar alguna variable. Operadores: ==, &, !, |, ^, + (Numerico y Literales) Ejemplos:
gen tiempo=_n gen tiempo2=tiempo^2
SSGC Introduccin a Stata, Mayo 2011
Iniciando en Stata
Sintaxis de los comandos
Componentes de los comandos - if: se para seleccionar subconjuntos que satisfagan algna condicin.
Ejemplo:
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Sintaxis de los comandos
Componentes de los comandos - if: se para seleccionar subconjuntos que satisfagan algna condicin.
Ejemplo:
sum ventas if tiempo>=10
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Sintaxis de los comandos
Componentes de los comandos - in: se para seleccionar subconjuntos que se encuentren en un rango dentro de la tabla.
Ejemplo:
sort ventas sum ventas in 1/10
list ventas if tiempo>5 & tiempo<10
SSGC Introduccin a Stata, Mayo 2011
Iniciando en Stata
Sintaxis de los comandos
Componentes de los comandos - in: se para seleccionar subconjuntos que se encuentren en un rango dentro de la tabla.
Ejemplo:
sort ventas sum ventas in 1/10
list ventas if tiempo>5 & tiempo<10 list ventas if tiempo==5
SSGC Introduccin a Stata, Mayo 2011
Iniciando en Stata
Sintaxis de los comandos
Ejemplo 2:Insertando y reemplazando observaciones.
Se pueden insertar observaciones utilizando el editor de datos, o con el comando replace <variable> in <posicin>
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Sintaxis de los comandos
Ejemplo 2:Insertando y reemplazando observaciones.
Se pueden insertar observaciones utilizando el editor de datos, o con el comando replace <variable> in <posicin>
clear set obs 10 gen mes=1 replace mes=3 in 2
reemplaza la segunda observacin de la variable mes por un 3.
SSGC Introduccin a Stata, Mayo 2011
Iniciando en Stata
Sintaxis de los comandos
Componentes de los comandos - in: se para seleccionar subconjuntos que se encuentren en un rango dentro de la tabla.
Ejemplo:
sort ventas sum ventas in 1/10
list ventas if tiempo>5 & tiempo<10 list ventas if tiempo==5
SSGC Introduccin a Stata, Mayo 2011
Iniciando en Stata
Sintaxis de los comandos
Componentes de los comandos - options: se utiliza en los comandos que permiten varias opciones. Se indican luego de una coma, y pueden estar en cualquier orden, o abreviarse (Excepto replace).
Ejemplo:
use D:\SSGC\Ventas.dta, clear sum ventas, detail
SSGC Introduccin a Stata, Mayo 2011
Iniciando en Stata
Sintaxis de los comandos
Componentes de los comandos - using: se utiliza en los comandos que requieren leer un archivo externo.
Ejemplo:
sort ventas sum ventas in 1/10
list ventas if tiempo>5 & tiempo<10 list ventas if tiempo==5
SSGC Introduccin a Stata, Mayo 2011
Iniciando en Stata
Prefijo by
Componentes de los comandos - prefijos: se utiliza en los comandos que pueden tener diferentes comportamientos. Prefijo: by: Cuando un comando est precedido por una lista by, se repite para cada elemento de la(s) variable(s) en esa lista.
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Prefijo by
Componentes de los comandos - prefijos: se utiliza en los comandos que pueden tener diferentes comportamientos. Prefijo: by: Cuando un comando est precedido por una lista by, se repite para cada elemento de la(s) variable(s) en esa lista. Ejemplo
by agno, sort: sum ventasc bysort agno: sum ventas
SSGC Introduccin a Stata, Mayo 2011
Iniciando en Stata
Sintaxis de los comandos
Prefijo by - Se utiliza tambin para evitar realizar ciclos sobre las observaciones
bysort agno trimestre: sum ventas
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Valores Faltantes
Valores faltantes Se codifican como (.) para valores numricos y como para literales. Toma el valor positivo ms grande. Por ejemplo (Creando Variables Dummy):
generate venta_alta=(ventas>15)
No es lo mismo que:
gen venta_alta_corr=(ventas>15 & ventas<.)
SSGC Introduccin a Stata, Mayo 2011
Iniciando en Stata
Formato de Pantalla
Formato de pantalla Cada variable puede tener su formato para presentar en la pantalla. No cambia su valor, pero s la forma en que se muestra.
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Formato de Pantalla
Formato de pantalla Cada variable puede tener su formato para presentar en la pantalla. No cambia su valor, pero s la forma en que se muestra. format ventas %9.2f
Muestra las ventas en el formato por defecto,
format tiempo %tm
muestra la variable tiempo como datos mensuales (2011m5).
SSGC Introduccin a Stata, Mayo 2011
Iniciando en Stata
Etiquetando variables
Etiquetando variables Cada variable puede tener su etiqueta, que es un literal de no ms 80 caracteres que describe la variable con la cual est asociada. label variable tiempo"Tiempo en aos"
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Value labels
Value labels Asocia cada valor numrico de una variable a un literal.
label define Trimestre 1 primero 2 segundo 3 tercero 4 cuarto label values trimestre Trimestre
tab trimestre
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Codificando variables
Codificando variables Si queremos codificar alguna
variable categrica en valores numricos, utilizamos el comando encode: use d:\SSGC\Ejemplos\tabulaciones.dta, clear encode pobreza, generate(pobre_numerica) sum pobre_numerica
Creando variables binarias
tab pobreza, generate(pobre) tab pobre1 tab pobre2
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Codificando variables
Codificando variables Si queremos codificar alguna
variable categrica en valores numricos, utilizamos el comando encode: use d:\SSGC\Ejemplos\tabulaciones.dta, clear encode pobreza, generate(pobre_numerica) sum pobre_numerica
Creando variables binarias
tab pobreza, generate(pobre) tab pobre1 tab pobre2
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Combinando archivos
Combinando Archivos merge
Si queremos combinarlos a travs de una variable de enlace (match variable), como por ejemplo un ID, para que los valores de las variables en alguna columna (variable) de la primera tabla se correspondan con las dems variables de la segunda tabla
append
Si queremos aadir las observaciones de dos o ms archivos
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Combinando archivos
Combinando Archivos merge
Si queremos combinarlos a travs de una variable de enlace (match variable), como por ejemplo un ID, para que los valores de las variables en alguna columna (variable) de la primera tabla se correspondan con las dems variables de la segunda tabla
append
Si queremos aadir las observaciones de dos o ms archivos
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Combinando archivos
Combinando Archivos Merge
Supongamos que tenemos un archivo dta [archivo1] que contiene dos variables: agno, trimestre, ventas, y otro archivo [archivo2] con las variables agno, trimestre, compras. Ejecutamos use "D:\SSG\archivo1.dta, clear merge 1:1 agno trimestre using "D:\SSG\archivo2.dta
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Combinando archivos
Combinando Archivos Append
Suponga que tenemos los datos de dos aos para las ventas separados en dos archivos [primero.dta], y [segundo.dta], con las mismas variables.
Para combinarlos utilizamos:
use segundo.dta, clear append using "C:\primero.dta"
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Generando nuevas varibles
Generando nuevas variables El comando generate se utiliza para generar nuevas variables. La opcin replace debe especificarse si ya existe otra con el mismo nombre.
generate tiempo=_n
El comando egen (Extended Generate) permite utilizar otras funciones para generar variables (total, sd, average, etc).
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Generando nuevas varibles
Generando nuevas variables El comando generate se utiliza para generar nuevas variables. La opcin replace debe especificarse si ya existe otra con el mismo nombre.
generate tiempo=_n
El comando egen (Extended Generate) permite utilizar otras funciones para generar variables (total, sd, average, etc).
egen havg = rowmean(ventas*)
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Generando nuevas varibles
Reglas para generar nuevas variables - No deben contener caracteres extraos. (&#^$.) - No espacios. - Longitud limitada. - No se pueden repetir
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Eliminando variables
Eliminando variables
Para eliminar variables utilizamos el comando drop <nombre variable>. Si deseamos eliminar la variable tiempo del ejemplo anterior: drop tiempo Tambin podemos utilizar el comando keep que elimina todas las variables no incluidas en la lista de variables keep ventas agno mes
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Eliminando variables
Eliminando variables
Para eliminar variables utilizamos el comando drop <nombre variable>. Si deseamos eliminar la variable tiempo del ejemplo anterior: drop tiempo Tambin podemos utilizar el comando keep que elimina todas las variables no incluidas en la lista de variables keep ventas agno mes
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Renombrando variables
Renombrando variables
Si queremos cambiar el nombre de alguna variable utilizamos el comando rename <nombre_viejo> <nombre nuevo>. Por ejemplo: clear set obs 10 gen agno=5 rename agno year
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Mostrando observaciones.
Mostrando observaciones y variables.
Para listar las observaciones que se encuentran en alguna posicin o cumplen con alguna condicin, junto a un grupo de variables utilizamos el comando list. use d:\SSGC\Ejemplos\Ventas.dta, clear list use d:\SSGC\Ejemplos\Ventas.dta, clear list trimestre ventas
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Mostrando observaciones.
Mostrando observaciones y variables.
Para listar las observaciones que se encuentran en alguna posicin o cumplen con alguna condicin, junto a un grupo de variables utilizamos el comando list. use d:\SSGC\Ejemplos\Ventas.dta, clear list use d:\SSGC\Ejemplos\Ventas.dta, clear list trimestre ventas use d:\SSGC\Ejemplos\Ventas.dta, clear list ventas if trimestre==3 in 1/0
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Mostrando observaciones.
Mostrando observaciones y variables.
Para listar las observaciones que se encuentran en alguna posicin o cumplen con alguna condicin, junto a un grupo de variables utilizamos el comando list. use d:\SSGC\Ejemplos\Ventas.dta, clear list use d:\SSGC\Ejemplos\Ventas.dta, clear list trimestre ventas use d:\SSGC\Ejemplos\Ventas.dta, clear list ventas if trimestre==3 in 1/0
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Describiendo variables
Describiendo las variables
El comando describe, proporciona informacin del tipo de variable, tamao en memoria, etiqueta de la lista de variables que tiene como argumento. Si esta lista no se proporciona entonces describe todas las variables.
use d:\SSGC\Ejemplos\Ventas.dta, clear describe ventas
muestra que las ventas se almacenan como tipo float o valor de punto flotante (decimal), su etiqueta es Ventas y su formato es %8.0g.
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Ordenando datos
Ordenando un conjunto de datos.
Para ordenar un conjunto de datos utilizamos el comando sort <lista de variables>. use d:\SSGC\Ejemplos\Ventas.dta, clear sort ventas use d:\SSGC\Ejemplos\Ventas.dta, clear sort year ventas
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Reconfigurando datos
Colapsando datos
Si se quiere construir una tabla que contenga los averages sobre los valores de alguna variable, por ejemplo periodos, utilizamos el comando collapse. Forma una tabla nueva compuesta por los estadsticos de resumen de las varibles especificadas. Puede producir promedios, mnimos, mximos, percentiles, etc. collapse (p25) ventas , by(year)
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Reconfigurando datos
Transformando tabla
Si se quiere transformar de formato ancho a largo, utilizamos el comando reshape. Uno de los comandos ms poderosos de Stata.
SSGC
Introduccin a Stata, Mayo 2011
Iniciando en Stata
Comando Reshape: Ejemplos
Transformando tabla
Convertir de long a wide reshape wide ventas, i(year) j(trimestre) Convertir de wide a long reshape long ventas, i(year) j(trimestre)
SSGC
Introduccin a Stata, Mayo 2011
ESTADISTICA DESCRIPTIVA EN STATA
Juan Amlcar Prez
Statistical Services Group Mayo 2011
SSGC
Introduccin a Stata, Mayo 2011
Estadstica Descriptiva
Tablas de frecuencia
Generando tabla de frecuencias
Para tabular los distintos valores que toma una variable, as como la cantidad de veces que aparece ese valor en variables categricas y ordinales, utilizamos el comando tabulate, o resumidamente tab. El siguiente cdigo nos muestra cuntas veces aparece cada trimestre en la tabla de Ventas. use d:\SSGC\Ejemplos\Ventas.dta, clear tab trimestre Este tipo de tabulaciones se conoce como de una sola va.
SSGC
Introduccin a Stata, Mayo 2011
Estadstica Descriptiva
Tablas de doble entrada
Tabulaciones cruzadas
Las tabulaciones cruzadas representan tablas de doble entrada, y se crean con el mismo comando de las tabulaciones simples, especificando dos variables como argumento. clear use d:\SSGC\Ejemplos\tabulaciones.dta tab salario pobreza nos genera una tabla de doble entrada de las variable salario y pobreza
SSGC
Introduccin a Stata, Mayo 2011
Estadstica Descriptiva
Resumen estadstico
Obteniendo resumen de los datos numricos
El comando summarize, o abreviadamente sum, nos proporciona algunos estadsticos importantes (media, varianza, desviacin tpica, cantidad), y puede ser an ms detallado (incluir percentiles, mediana,kurtosis, etc), si especificamos la opcin detail. sum ventas sum ventas, detail
clear use d:\SSGC\Ejemplos\tabulaciones.dta sum ventas if trimestre==2, detail SSGC Introduccin a Stata, Mayo 2011
INTRODUCCION A LA PROGRAMACION EN STATA
Juan Amlcar Prez
Statistical Services Group Mayo 2011
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Introduccin
Programacin bsica
Stata permite resolver cualquier tipo de problema que requiera incluso algoritmos complejos, uso de multiprocesadores, compatibilidad con otros componentes (APIs) de Windows, interfaz grfica, funciones matriciales y paquetes de funciones externos.
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Introduccin
Programacin bsica
Stata permite resolver cualquier tipo de problema que requiera incluso algoritmos complejos, uso de multiprocesadores, compatibilidad con otros componentes (APIs) de Windows, interfaz grfica, funciones matriciales y paquetes de funciones externos.
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Macros y escalares
Macros locales y escalares
Los macros locales y escalares significan variables (que no deben ser confundidas con las variables en el archivo de Stata), y se diferencian en que los macros locales pueden contener literales y los escalares slo pueden contener nmeros. Por ejemplo.Si queremos eliminar todas las observaciones cuyas ventas estn por debajo del promedio:
use d:\SSGC\Ejemplos\Ventas.dta, clear sum ventas keep if ventas>`r(mean) SSGC Introduccin a Stata, Mayo 2011
Programacin en Stata
Archivos .ado y .do
Archivos .ado y .do.
Los programas se pueden ejecutar desde la ventana de comandos, en archivos do, o archivos ado. Los .ado y .do pueden ser editados en cualquier editor de texto, aunque Stata incluye su procesador de texto Do File Editor, accesible directamente desde el men.
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Utilizando comentarios
Comentarios.
Es buena prctica de programacin comentar adecuadamente los archivos fuente, para ello utilizamos un asterisco delante de la lnea a comentar. *carga el archivo de datos use d:\SSGC\Ejemplos\Ventas.dta, clear * resume los datos sum ventas
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Utilizando comentarios
Comentarios.
Es buena prctica de programacin comentar adecuadamente los archivos fuente, para ello utilizamos un asterisco delante de la lnea a comentar. * carga el archivo de datos use d:\SSGC\Ejemplos\Ventas.dta, clear * resume los datos sum ventas /* carga el archivo de datos use d:\SSGC\Ejemplos\Ventas.dta, clear resume los datos*/ sum ventas
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Ciclos
Ciclos.
Permiten repetir comandos, bloques de cdigo, instrucciones individuales, operaciones matriciales, etc.
forvalues
Permite ejecutar bloques de cdigo para los valores que tome una variable, con incrementos (negativos o positivos) arbitrarios.
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Ciclos: forvalues
forvalues
Imagine que queremos crear una variable con las ventas acumuladas al trimestre t. use d:\SSGC\Ejemplos\Ventas.dta, clear count gen ventas_acumuladas=ventas forvalues i=2/`r(N){ replace ventas_acumuladas=ventas[`i]+ ventas_acumuladas[`i-1] in `i } list ventas_acumuladas
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Ciclos: foreach
foreach
foreach permite repetir comandos para cada valor de una variable o lista de variables o tems. Por ejemplo, para renombrar cada una de las variables aadindole un sufijio _1 utilizamos:
use d:\SSGC\Ejemplos\Ventas.dta, clear foreach var of varlist year-ventas{ rename `var' `var'_1 }
Note el guin entre year-ventas. Esto indica todas las variables que se encuentren entre year y ventas.
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Bifurcaciones
Bifurcaciones.
As como podemos seleccionar un subconjunto de observaciones o variables con la opcin if, podemos incluirlo en cualquier bloque de cdigo para ejecutarlo condicionalmente, o desviar el curso del programa a otro bloque. Por ejemplo, si queremos imprimir en pantalla un mensaje que indique acumule en una variable la suma de las ventas de los trimestres impares y lo muestre en pantalla
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Bifurcaciones
Bifurcaciones.
As como podemos seleccionar un subconjunto de observaciones o variables con la opcin if, podemos incluirlo en cualquier bloque de cdigo para ejecutarlo condicionalmente, o desviar el curso del programa a otro bloque. Por ejemplo, si queremos imprimir en pantalla un mensaje que indique acumule en una variable la suma de las ventas de los trimestres impares y lo muestre en pantalla
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Bifurcaciones: if
Bifurcaciones.
Utilizando IF en archivos ado y do count local impares=0 forvalues i=1/`r(N)'{ if(trimestre[`i']/2!=0 & ventas[`i']!=.){ local impares=`impares'+ ventas[`i'] } } display "La suma de los trimestres impares es " `impares'
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Bifurcaciones if: ejemplos.
Bifurcaciones.
Utilizando IF en archivos ado y do count local impares=0 forvalues i=1/`r(N)'{ if(trimestre[`i']/2!=0 & ventas[`i']!=.){ local impares=`impares'+ ventas[`i'] } } display "La suma de los trimestres impares es " `impares'
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Ejercicios I
Ejercicios.
1. Encuentre la suma de las ventas de los trimestres impares sin utilizar ciclos (foreach, forvalues)
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Bifurcaciones: ifelse
Bifurcaciones (ifelse).
Para crear una variable para indicar si una observacin pertenece a una muestra, incluyendo slo las observaciones que en una distribucin uniforme [0,1] estn por debajo de 0.40.
count gen muestra="" forvalues i=1/`r(N)'{ if(runiform()<0.40){ replace muestra="Incluir" in `i' } else{ replace muestra="Excluir" in `i' } } tab muestra
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Bifurcaciones: ifelse
Bifurcaciones (ifelse).
Para crear una variable para indicar si una observacin pertenece a una muestra, incluyendo slo las observaciones que en una distribucin uniforme [0,1] estn por debajo de 0.40.
count gen muestra="" forvalues i=1/`r(N)'{ if(runiform()<0.40){ replace muestra="Incluir" in `i' } else{ replace muestra="Excluir" in `i' } } tab muestra
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Ejercicios II
Ejercicios II.
1. Encuentre una forma de resolver el problema anterior sin utilizar else. 2. Encuentre una forma de resolver el problema anterior sin utilizar ciclos (foreach, forvalues). 3. Qu podemos concluir respecto a los ejercicios anteriores, la forma ptima para resolverlos y por qu?
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Ejercicios II
Ejercicios II.
1. Encuentre una forma de resolver el problema anterior sin utilizar else. 2. Encuentre una forma de resolver el problema anterior sin utilizar ciclos (foreach, forvalues). 3. Qu podemos concluir respecto a los ejercicios anteriores, la forma ptima para resolverlos y por qu?
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Ejercicios II
Ejercicios II.
1. Encuentre una forma de resolver el problema anterior sin utilizar else. 2. Encuentre una forma de resolver el problema anterior sin utilizar ciclos (foreach, forvalues). 3. Qu podemos concluir respecto a los ejercicios anteriores, la forma ptima para resolverlos y por qu?
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Manipulando resultados
Tipos de comandos en Stata r-class. (p.e: summarize)
count disp r(N) sum ventas disp "El promedio fue " r(mean)
e-class. (regress)
regress ventas tiempo disp "El R2 fue " e(r2)
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Mata
Programacin avanzada. Mata.
Mata es un lenguaje de programacin matricial utilizado en Stata. Se puede acceder al Mata desde la ventana de comandos. Especificamos mata, luego el cdigo del programa, y al final, end.
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Creando una matriz
Creando una matriz
Para crear una matriz en Mata, podemos (en este ejemplo 2x2) especificarlo as:
mata A=(1, 7 \ 3, 2) A end
En este caso los valores de las filas se separan por \ y los valores de las columnas por coma. Pueden ser nmero o pueden ser otras matrices previamente declaradas o pueden ser textos encerrados en comillas. De esta manera podemos crear matrices a partir de submatrices, o matrices de texto.
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Creando una matriz
Creando una matriz
Para crear una matriz en Mata, podemos (en este ejemplo 2x2) especificarlo as:
mata A=(1, 7 \ 3, 2) A end
En este caso los valores de las filas se separan por \ y los valores de las columnas por coma. Pueden ser nmero o pueden ser otras matrices previamente declaradas o pueden ser textos encerrados en comillas. De esta manera podemos crear matrices a partir de submatrices, o matrices de texto.
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Eigenvalues/Eigenvectors
Clculo de vectores y valores propios en Stata.
La siguiente rutina de Stata calcula los vectores y valores propios de una matriz
clear mata A = (1, 2 \ 9, 4) X = . L = . eigensystem(A, X, L) X L end
Y guarda los valores de los valores propios en L, y sus respectivos vectores propios en X.
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Traza y Diagonal de matrices
Traza de una matriz.
Para hallar la traza de una matriz, escribimos trace en MATA.
mata A = (1, 2 \ 9, 4) trace(A)
Diagonal de una matriz Para hallar la diagonal de una matriz, escribimos diag en MATA.
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Traza y Diagonal de matrices
Traza de una matriz.
Para hallar la traza de una matriz, escribimos trace en MATA.
mata A = (1, 2 \ 9, 4) trace(A)
Diagonal de una matriz Para hallar la diagonal de una matriz, escribimos diag en MATA.
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Traza y Diagonal de matrices
Traza de una matriz.
Para hallar la traza de una matriz, escribimos trace en MATA.
mata A = (1, 2 \ 9, 4) trace(A)
Diagonal de una matriz Para hallar la diagonal de una matriz, escribimos diag en MATA.
mata A = (1, 2 \ 9, 4) diag(A)
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Determiante y rango
Determinante de una matriz
Para hallar el determinante de una matriz, escribimos det en MATA.
mata A = (1, 2 \ 9, 4) det(A)
Rango de una matriz Para hallar el rango de una matriz, escribimos rank en MATA.
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Determiante y rango
Determinante de una matriz
Para hallar el determinante de una matriz, escribimos det en MATA.
mata A = (1, 2 \ 9, 4) det(A)
Rango de una matriz Para hallar el rango de una matriz, escribimos rank en MATA.
mata A = (1, 2 \ 9, 4) rank(A)
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Transpuesta y races .
Transpuesta de una matriz
Para hallar la transpuesta de una matriz, (apstrofe) luego del nombre de la matriz en MATA.
mata A = (1, 2 \ 9, 4) A
Raz de una matriz. Para hallar la raz de una matriz utilizamos sqrt, este procedimiento funciona tambin para otras funciones escalares.
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Transpuesta y races .
Transpuesta de una matriz
Para hallar la transpuesta de una matriz, (apstrofe) luego del nombre de la matriz en MATA.
mata A = (1, 2 \ 9, 4) A
Raz de una matriz. Para hallar la raz de una matriz utilizamos sqrt, este procedimiento funciona tambin para otras funciones escalares.
mata A = (1, 2 \ 9, 4) A =sqrt(A) A end
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Hallando inversas
Inversa de una matriz.
Mata ofrece diferentes funciones para calcular la inversa de una matriz. Para una matriz cuadrada, por ejemplo, utilizamos luinv()
mata A = (1, 2 \ 9, 4) luinv(A) end
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Suma de matrices
Suma de dos matrices
Para hallar la suma de dos matrices, primero deben estar definidas y usamos el operador +.
mata A = (1, 2 \ 9, 4) B = (2, 0 \ 0, 1) A B C=A+B C end
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Sistema de ecuaciones
Sistema de ecuaciones (MATA)
Mata ofrece diferentes funciones para resolver sistemas de ecuaciones AX=B, como la funcin lusolve(A, B). Para estimar una regresin lneal de las ventas, y el tiempo
gen tiempo=_n mata y = st_data(.,"ventas") X = st_data(.,("tiempo")) X = X, J(rows(X),1,1) b = invsym(X'*X)*X'*y b end
Este cdigo nos muestra los coeficientes de la regresin, que se puede comprobar utilizando el comando en Stata >> regress ventas tiempo
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Sistema de ecuaciones
Sistema de ecuaciones (MATA)
Mata ofrece diferentes funciones para resolver sistemas de ecuaciones AX=B, como la funcin lusolve(A, B). Para estimar una regresin lneal de las ventas, y el tiempo
gen tiempo=_n mata y = st_data(.,"ventas") X = st_data(.,("tiempo")) X = X, J(rows(X),1,1) b = invsym(X'*X)*X'*y b end
Este cdigo nos muestra los coeficientes de la regresin, que se puede comprobar utilizando el comando en Stata >> regress ventas tiempo
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Polinomios
Manipulacin de polinomios
Hallando las races de un polinomio (polyroots). Suponga que queremos hallar las races de 3+5x+x2 = 0
clear mata polyroots((3,5,1)) end
Evaluacin de polinomios(polyeval).
Suponga que queremos sustituir por x=1 en 3+5x+x2 = 0
SSGC
Introduccin a Stata, Mayo 2011
Programacin en Stata
Polinomios
Manipulacin de polinomios
Hallando las races de un polinomio (polyroots). Suponga que queremos hallar las races de 3+5x+x2 = 0
clear mata polyroots((3,5,1)) end
Evaluacin de polinomios(polyeval).
Suponga que queremos sustituir por x=1 en 3+5x+x2 = 0
clear mata polyeval ((3,5,1),1) end
SSGC
Introduccin a Stata, Mayo 2011
APENDICE: Algunos comandos importantes
Juan Amlcar Prez
Statistical Services Group Mayo 2011
SSGC
Introduccin a Stata, Mayo 2011
Comandos importantes
Comandos tiles
help : ayuda en un comando especfico findit : referencias en lnea de algn tpico o comando. ssc : acceso a las rutinas SSC log : Graba sesin de trabajo tsset : define el indicador de tiempo para series temporales compress : economiza el espacio utilizado por las variables. pwd : muestra el directorio de trabajo. cd : cambia el directorio de trabajo. clear : limpia la memoria quietly : suprime el resultado de la pantalla. exit : sale de stata (Si los resuoltados han sido grabados).
SSGC
Introduccin a Stata, Mayo 2011
Comandos importantes
Manipulacin de datos
generate : crea nueva variable replace : modifica una variable existente rename : renombra una variable. renvars : renombra un conjunto de variables sort : cambia el orden de ordenacin de los datos drop : elimina observaciones o variables keep : mantiene las observaciones o variables. append : combina conjuntos de datos. merge : combina conjunto de datos. encode : genera variable numrica a partir de categrica recode : recodifica variables categricas destring : convierte variables literales a numricas
SSGC
Introduccin a Stata, Mayo 2011
Comandos importantes
Manipulacin de datos
describe : describe el dataset en memoria use : carga un archivo save : guarda un archivo. insheet : carga un archivo txt, o delimitado por tab. outfile : exporta un archivo txt o delimitado por tab. contract : crea un archivo con frecuencias. collapse : crea un archivo con resumen estadstico tab : genera tabulaciones de 1 y 2 vas. table : genera tabla de resumen estadstico
SSGC
Introduccin a Stata, Mayo 2011
Comandos importantes
Comandos estadsticos
Comandos tiles:
summarize : estadsticos descriptivos correlate : matriz de correlacin ttest : prueba de hiptesis, muestras apareadas. anova : Anisis de varianza regress : regresin mnimos cuadrados predict : genera predicciones estimaciones, residuos, errores. test : prueba de hiptesis lineal entre parmetros. logit, logistic : modelo logstico, regresin logstica
SSGC
Introduccin a Stata, Mayo 2011
Comandos importantes
Comandos series temporales
Comandos tiles en Anlisis de Series Temporales
arima : modelos Box-Jenkins con errores ARMA arch : modelos de heterocedasticidad autorregresiva condicional. dfgls : prueba de raz unitaria corrgram : estimacin del correlograma var : vector autoregressions (basica ytructural) vec : vector errorcorrection models (cointegracin)
SSGC
Introduccin a Stata, Mayo 2011
Comandos importantes
Grficos
Comandos tiles para generar grficos
twoway (scatter ventas tiempo) (lfit ventas tiempo)
SSGC
Introduccin a Stata, Mayo 2011