Sei sulla pagina 1di 114

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

Potrebbero piacerti anche