Escolar Documentos
Profissional Documentos
Cultura Documentos
www.daxrox.com
Statistical Services Group Mayo 2011
SSGC
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
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
Ventajas de Stata
Ventajas
Portabilidad Facilidad Versatilidad Programacin Uso eficiente del hardware
Fortalezas
- Manipulacin de datos - Anlisis estadstico - Grficos.
SSGC
Introduccin
Fortalezas de Stata
Ventajas
- Portabilidad - Facilidad - Versatilidad - Programacin - Uso eficiente del hardware
Fortalezas
- Manipulacin de datos - Anlisis estadstico - Grficos.
SSGC
Introduccin
Anlisis estadstico
Anlisis estadstico
Estadsticos descriptivos Pruebas de hiptesis Anlisis multivariado ANOVA Regresin Anlisis de Series Temporales.
SSGC
Introduccin
Grficos
Grficos
Grficos personalizables 2D de alta calidad. Schemas. Programacin. Concepto de capas
SSGC
Instalacin
Configuracin Memoria
Instalacin - Versiones: IC, SE, MP. - Personalizacin Entorno Trabajo. - Configuracin Memoria y Procesador.
SSGC
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
Instalacin
Soporte y actualizaciones
Soporte
- findit - Statlist - Documentacin en PDF
Actualizaciones
-
SSGC
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
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
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
Iniciando en Stata
Configurando directorios
SSGC
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
SSGC
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
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
Iniciando en Stata
Por qu comandos?
Extensibilidad.
-
Permite acceder a una mayor gama de opciones que los mens. Incoporacin de nuevas funcionalidades.
Programacin
- Infinitamente til.
SSGC
Iniciando en Stata
Por qu comandos?
Extensibilidad.
-
Permite acceder a una mayor gama de opciones que los mens. Incoporacin de nuevas funcionalidades.
Programacin
- Infinitamente til.
SSGC
Iniciando en Stata
Por qu comandos?
Extensibilidad.
-
Permite acceder a una mayor gama de opciones que los mens. Incoporacin de nuevas funcionalidades.
Programacin
- Infinitamente til.
SSGC
Iniciando en Stata
Mi primer programa
Ejemplo:
Iniciando en Stata
Mi primer programa
Ejemplo:
Iniciando en Stata
Mi primer programa
Ejemplo:
Iniciando en Stata
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
SSGC
Iniciando en Stata
Componentes - varlist: lista de variables sobre la cual el comando opera: Ejemplos (con wildcards):
Iniciando en Stata
Componentes de los comandos - exp: se utiliza donde se requiere una expresin algebraica para generar o cambiar alguna variable. Operadores: ==, &, !, |, ^, + (Numerico y Literales) Ejemplos:
Iniciando en Stata
Componentes de los comandos - exp: se utiliza donde se requiere una expresin algebraica para generar o cambiar alguna variable. Operadores: ==, &, !, |, ^, + (Numerico y Literales) Ejemplos:
Iniciando en Stata
Componentes de los comandos - if: se para seleccionar subconjuntos que satisfagan algna condicin.
Ejemplo:
SSGC
Iniciando en Stata
Componentes de los comandos - if: se para seleccionar subconjuntos que satisfagan algna condicin.
Ejemplo:
SSGC
Iniciando en Stata
Componentes de los comandos - in: se para seleccionar subconjuntos que se encuentren en un rango dentro de la tabla.
Ejemplo:
Iniciando en Stata
Componentes de los comandos - in: se para seleccionar subconjuntos que se encuentren en un rango dentro de la tabla.
Ejemplo:
Iniciando en Stata
Se pueden insertar observaciones utilizando el editor de datos, o con el comando replace <variable> in <posicin>
SSGC
Iniciando en Stata
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
Iniciando en Stata
Componentes de los comandos - in: se para seleccionar subconjuntos que se encuentren en un rango dentro de la tabla.
Ejemplo:
Iniciando en Stata
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:
Iniciando en Stata
Componentes de los comandos - using: se utiliza en los comandos que requieren leer un archivo externo.
Ejemplo:
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
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
Iniciando en Stata
Prefijo by - Se utiliza tambin para evitar realizar ciclos sobre las observaciones
SSGC
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:
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
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,
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
Iniciando en Stata
Value labels
SSGC
Iniciando en Stata
Codificando variables
SSGC
Iniciando en Stata
Codificando variables
SSGC
Iniciando en Stata
Combinando archivos
append
Si queremos aadir las observaciones de dos o ms archivos
SSGC
Iniciando en Stata
Combinando archivos
append
Si queremos aadir las observaciones de dos o ms archivos
SSGC
Iniciando en Stata
Combinando archivos
SSGC
Iniciando en Stata
Combinando archivos
SSGC
Iniciando en Stata
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
Iniciando en Stata
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
Iniciando en Stata
Reglas para generar nuevas variables - No deben contener caracteres extraos. (&#^$.) - No espacios. - Longitud limitada. - No se pueden repetir
SSGC
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
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
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
Iniciando en Stata
Mostrando observaciones.
SSGC
Iniciando en Stata
Mostrando observaciones.
SSGC
Iniciando en Stata
Mostrando observaciones.
SSGC
Iniciando en Stata
Describiendo variables
SSGC
Iniciando en Stata
Ordenando datos
SSGC
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
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
Iniciando en Stata
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
SSGC
Estadstica Descriptiva
Tablas de frecuencia
SSGC
Estadstica Descriptiva
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
Estadstica Descriptiva
Resumen estadstico
clear use d:\SSGC\Ejemplos\tabulaciones.dta sum ventas if trimestre==2, detail SSGC Introduccin a Stata, Mayo 2011
SSGC
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
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
Programacin en Stata
Macros y escalares
use d:\SSGC\Ejemplos\Ventas.dta, clear sum ventas keep if ventas>`r(mean) SSGC Introduccin a Stata, Mayo 2011
Programacin en Stata
SSGC
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
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
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
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
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
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
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
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
Programacin en Stata
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
Programacin en Stata
Ejercicios I
Ejercicios.
1. Encuentre la suma de las ventas de los trimestres impares sin utilizar ciclos (foreach, forvalues)
SSGC
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
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
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
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
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
Programacin en Stata
Manipulando resultados
e-class. (regress)
regress ventas tiempo disp "El R2 fue " e(r2)
SSGC
Programacin en Stata
Mata
SSGC
Programacin en Stata
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
Programacin en Stata
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
Programacin en Stata
Eigenvalues/Eigenvectors
Y guarda los valores de los valores propios en L, y sus respectivos vectores propios en X.
SSGC
Programacin en Stata
Diagonal de una matriz Para hallar la diagonal de una matriz, escribimos diag en MATA.
SSGC
Programacin en Stata
Diagonal de una matriz Para hallar la diagonal de una matriz, escribimos diag en MATA.
SSGC
Programacin en Stata
Diagonal de una matriz Para hallar la diagonal de una matriz, escribimos diag en MATA.
mata A = (1, 2 \ 9, 4) diag(A)
SSGC
Programacin en Stata
Determiante y rango
Rango de una matriz Para hallar el rango de una matriz, escribimos rank en MATA.
SSGC
Programacin en Stata
Determiante y rango
Rango de una matriz Para hallar el rango de una matriz, escribimos rank en MATA.
mata A = (1, 2 \ 9, 4) rank(A)
SSGC
Programacin en Stata
Transpuesta y races .
Raz de una matriz. Para hallar la raz de una matriz utilizamos sqrt, este procedimiento funciona tambin para otras funciones escalares.
SSGC
Programacin en Stata
Transpuesta y races .
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
Programacin en Stata
Hallando inversas
SSGC
Programacin en Stata
Suma de matrices
SSGC
Programacin en Stata
Sistema de ecuaciones
SSGC
Programacin en Stata
Sistema de ecuaciones
SSGC
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
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
SSGC
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
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
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
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
Comandos importantes
SSGC
Comandos importantes
Grficos
SSGC