Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción a Stata
1
Datos
Extensión de las bases es .dta
Separador de miles (,) y decimales (.)
Abrir una base existente (automóviles de 1978): auto.dta
Ventana: File/Open
Comando: use filename [, clear nolabel] (use F:/auto.dta)
Especificando Carpeta
cd F:\
use auto
Datos
Limpiando base de datos de la memoria: clear
Descripción datos:
Ventana: Data/Describe data/Describe data in memory
Comando: describe
Creación/edición: Editor de datos
Tipos: texto, númerico, númerico con etiquetas
Missing values: en númerico es (.)
Etiquetas
Variable: label variable varname ["label"]
Valores:
Definir: label define lblname # "label" [# "label" ...]
Asignar a variables: label values varlist [lblname|.]
Sintaxis de comandos
Comandos ayuda: help, search (opción net)
Sintaxis básica:
[prefix: ] command [varlist] [=exp] [if exp] [in range] [weight] [, options]
Relational
Arithmetic Logical (numeric and string)
+ addition & and > greater than
- subtraction | or < less than
* multiplication ! not >= > or equal
/ division ~ not <= < or equal
^ power == equal
- negation != not equal
+ string concatenation ~= not equal
Funciones
help functions
Errores
El programa genera mensajes si se cometió un error
Algunos ejemplos de comandos
Estadísticas descriptivas:
summarize [varlist] [if] [in] [weight] [, options]
Ejemplos:
sum
by foreign: sum length
sum length if price>=6165.257
sum length price in 1/10
Tabla de frecuencias:
tabulate varname [if] [in] [weight] [, options]
Eliminar/Mantener (drop/keep)
Variables: {drop|keep} varlist
Observaciones: {drop|keep} if exp
Rango de obs.: {drop|keep} in range [if exp]
Ejercicio 1 (continuación)
Con la base de datos ecov_2017_2, realice las siguientes
actividades:
Estadísticos descriptivos de todas las variables
Tabla de frecuencias entre variables Mujer y Estatus_laboral
Promedio de estatura por sexo
Genere la variable de la edad al cuadrado
Archivos do y log
do
Archivo con un conjunto de comandos a ejecutar
Archivo de texto con extensión .do
Inclusión de comentarios en un do: *texto, //texto//
Corriendo un do: {do|run} filename [, nostop ]
Log
Archivo en el que se puede guardar lo que aparece en la ventana de
resultados de una sesión
Archivo con extensión .log
Empezar un log: log using filename [, append replace [text|smcl] ]
Cerrar un log: log close
Ver un log: view filename.smcl
Escalares
Guarda un único número o texto como una variable
Un uso común es para guardar resultados de comandos
de estimación
Funciones
help matrix functions
Matrices: Mediante comandos
Crear
matrix matrix_name = {matrix_expression, (#,..,# \ #,..,# \ #,..,#)}
Funciones
help matrix functions
Usando resultados de comandos de Stata
Clase r Clase e
Comandos que analizan los datos Comandos de estimación
pero no estiman parámetros Guardan resultados en e()
Guardan resultados en r() Ejemplo:
Resultados desparecen cuando regress mpg price weight
otro comando se ejecuta
ereturn list
Ejemplo: matrix b = e(b)
use auto matrix list b
sum mpg
return list
scalar rango = r(max) – r(min)
display “rango mpg = ” rango
Macros
Cadena/lista de caracteres
Facilita programación al resumir la lista en un nombre,
cuando se trabaja con programas donde se repiten
ciertos comandos varias veces (looping, ej: simulaciones)
Dos tipos:
local: Existen solamente en un archivo do o una sesión
global: Una vez definido, están en disponibles a través de
archivos do o una sesión
Ejs:
global local
global variables “trunk weight length” local variables “trunk weight length”
sum $variables sum `variables'
Comandos looping
Forma de repetir el mismo comando varias veces
Comandos
foreach: Repetir sobre ítems en una lista
forvalues: Repetir sobre números consecutivos
while: Repite comando hasta que no se cumpla una
condición
Comandos looping
Ejemplo: Crear suma de 4 variables, cada variable proviene
de una distribución uniforme
set obs 100
set seed 10101
gen sum = x1 + x2 + x3 +x4 quietly replace sum = 0 quietly replace sum = 0 quietly replace sum = 0
summarize sum foreach var of varlist x1 x2 x3 x4 { forvalues i = 1/4 { local i 1
quietly replace sum = sum + `var‘ quietly replace sum = sum + x`i‘ while `i‘ <= 4 {
} } quietly replace sum = sum + x`i‘
summarize sum summarize sum local i = `i‘ + 1
}
summarize sum