Diapositivas

Anuncio
Sesión 4
Introducción a Stata III
Juan D. Barón
juandbaron@gmail.com
Métodos Cuantitativos de Economía Regional y Urbana
Universidad Autónoma de Occidente
Versión: 11 de mayo de 2011
Copyright © 2011: La reproducción total o parcial de este material está prohibida
Material provisional y sujeto a cambios
1. Corriendo múltiples comandos
a la vez (archivos do)
Hasta ahora….
•
Se ha introducido Stata
•
Se han explicado y aprendido varios comandos y su sintaxis básica
•
Ejecutamos un comando a la vez, escribiéndolo en la ventana de
comando
•
Pero, qué hacemos si…
– Nuestro análisis es muy largo y cometemos un error (repetir todo)
– Si queremos reproducir el análisis para una base de datos un poco
diferente (repetir todo)
– Si queremos decirle a un colega exactamente que fue lo que
hicimos (adivinar)
– Si debemos demostrarle a una revista cuál fue el procedimiento
empleado y los resultados (resultados son reproducibles)
•
Necesitamos tener la capacidad de ejecutar múltiples comandos a la
vez. Para ello utilizamos lo que se conoce como un
“archivo do” o “do-file”
3
¿Qué es un archivo *.do (do-file)?
•
Es un archivo de texto
(se puede abrir con bloc de notas, wordpad, etc)
•
En lugar de la extensión “.txt”, tiene extensión “.do”
•
Contiene todos los comandos de Stata que desee
(lo mismo que usted escribía en la ventana de comando)
•
Ejecutar un archivo do es exactamente lo mismo que ejecutar varios
comandos interactivamente (como lo hemos venido haciendo)
Los archivos do (do-files), NO son
•
Archivos de datos de Stata
(los archivos de datos en Stata son extensión .dta)
•
Archivos de datos en formato de texto (éstos son .txt o .csv)
•
Los resultados que Stata genera en la ventana de output
(estos se llaman archivos log, los veremos más adelante)
4
Crear archivos *.do (do-files)
•
En la barra de herramientas pueden abrir el editor de archivos do
(no es más que un editor de texto)
5
¿Cómo ejecutar los comandos en el do-file?
Primera forma
• De un click sobre el último botón de la barra de herramientas del
editor de archivos do
Notas:
• Si al momento de dar click sobre el botón, hay texto seleccionado,
Stata solo ejecutará toda la línea de los comandos seleccionados. De
lo contrario, Stata ejecuta todos los comandos
• Ejecutar los comandos en el archivo do también se conoce como
“correr” el archivo
• Se puede modificar y correr los archivos do todas las
veces que sea necesario
6
¿Cómo ejecutar los comandos en el do-file?
Segunda forma
Usando el comando “do” en la ventana de comando de Stata
. do
“C:/Taller UTB/miejemplo.do”
Puntos a tener en cuenta:
• Cuidado con el lugar (o nombre completo) del archivo do:
En el ejemplo se está ejecutando el archivo do, llamado miejemplo.do,
que está guardado en la carpeta “Taller UTB”
•
Si el nombre completo tiene espacios, las dobles comillas son
obligatorias
•
El archivo do puede tener otra extensión
(solo ajuste la extensión del archivo)
•
Esta forma de ejecutar el archivo es infalible: Podemos usar
CUALQUIER editor de texto para modificar el archivo do y guardar los
cambios
7
Otra ventaja de los archivos do: comentarios
•
En los do-files usted puede escribir comentarios que le ayuden a
recordar que hace el archivo (o cualquier otro texto que desee)
•
Stata no ejecuta los comentarios
•
Dos tipos de comentarios:
1. Comentario de línea: si un asterisco “*” está al principio de la
línea Stata no ejecutará esa línea. Ejemplo:
* Mi primer comentario en Stata
2. Comentario de bloque: Stata no ejecutará las líneas que se
encuentren entre “/*” y “*/”. Ejemplo:
/*
Este es mi primer comentario en Stata
y este es el segundo
*/
8
Recomendación para todos los archivos do
Se recomienda que se utilice el siguiente formato para todos sus
archivos do (ajustar lo que se deba ajustar)
****************************************************************
* Descripción: Plantilla para archivos do del Taller en UTB
*
* Creado:
11mayo2011 (8:00am) - JuanBarón
* Modificado:
11mayo2011 (9:36pm) - JuanBarón
****************************************************************
version 10.1
clear all
set more off
set memory 100m
* Creando un log de la sesión
capture: log close
log using "C:\Taller UTB\Resultados.txt", text replace
* Aquí irán sus comandos
log close
exit
9
En otras palabras sus do-files deben verse así:
10
Pero… ¿Qué es todo esto?
•
Líneas 1 a 6: Comentario que describe lo que contiene el archivo, su
fecha de creación, de modificación y el autor
(Recuerde: toda línea que comienza con asterisco no es ejecutada)
•
version 10.1: Le dice a Stata que se comporte como en esa versión
(¡No puede poner versiones futuras de Stata!)
•
clear all : Borra TODO lo que esté en memoria
•
set more off: Evita que Stata se detenga cuando la ventana de
output se llena (y se deba dar click en la barra espaciadora, tedioso)
•
set memory 100m: Asigna 100 megas a la memoria de Stata.
Si la base de datos que se quiere usar es más grande se puede
aumentar (en Windows max 1000m si el PC tiene esa capacidad)
•
exit: Este comando le dice a Stata que el archivo do terminó
(no quiere decir que Stata se va a cerrar)
11
Archivos log: guardando la ventana de output
•
•
En clases pasadas alguien preguntaba cómo se podía guardar todo lo
que Stata mostraba en la ventana de output
La respuesta es: usando el comando comando “log”:
. log using “c:\Taller UTB\LogSesion1.txt”, text replace
•
Una vez el comando ya produjo todo lo que se quería, el archivo log
se cierra con: . log close
Notas:
• El primer comando crea un archivo de texto en su disco duro llamado
“LogSesion1.txt” que se puede abrir con cualquier editor de texto
• Dirección de donde se guarda o quedará en el directorio de trabajo
• Incluir la extensión del archivo a crear como .txt
• CUIDADO: No usar el nombre de un archivo txt que ya exista
• Usar la opción “text” del comando log (para que guarde como texto)
12
Volviendo al archivo do recomendado, teníamos las líneas:
* Creando un log de la sesión
capture: log close
log using "C:\TallerUTB\Resultados.txt", text replace
•
El prefijo “capture” le dice a Stata, no continue así se encuentre un
error en el comando. La primera vez que se corre el archivo do, Stata
se quejará porque se está tratando de cerrar un archivo log que no
existe (para evitar eso usamos capture antes de “log close”)
•
¿Por qué poner “log close” antes de “log using”? Si hay un error en
los comandos y el do-file no termina de ejecutar, el log no se cerrará y
Stata generará errores
•
El segundo comando crea el archivo log llamado Resultados.txt como
formato de texto en la carpeta “Taller UTB” en el disco duro
•
Cada vez que se corre el archivo do, el archivo Resultados.txt se
sobreescribe
13
Resumen de archivos
•
Archivo de datos en formato Stata: su extensión es “.dta”. Se carga
en Stata usando el comando “use”
•
Archivo con comandos de Stata: en general tiene extensión “.do”.
Para abrir o para crearlos se usa el editor de archivos do a través de
la barra de herramientas de Stata. También se pueden abrir y
modificar con otros editores de texto
•
Archivo log (ventana de resultados/output): si se sigue lo
recomendado, siempre tendrá extensión “.txt”. Se puede abrir con
cualquier editor de texto (ej. Bloc de notas). Contiene comandos de
Stata seguidos de los resultados que genere cada comando
14
2. Importando datos de Excel y
archivos de texto
A grandes rasgos lo que se hace es:
1. Organizar la base de datos con algunas especificaciones en Excel
2. Genera un archivo de texto delimitado por tabulaciones desde Excel
3. Se lee este archivo de texto con los datos usando el comando
“insheet”
Datos en excel
Datos en
formato de texto
(delimitado por
tabulaciones)
Extensión: *.txt
Comando
insheet
STATA
(“save” para crear
base de datos en
formato de Stata)
Extensión *.dta
16
Pasos detallados:
1. En una hoja de excel poner la información en un rectángulo
empezando desde la celda A1
– No debe haber, líneas ni columnas vacías, ni sombras, ni colores,
ni formatos de número, ni gráficos, etc. Particularmente, no debe
haber separador de miles en los números
– Las variables deben tener nombres de máximo 8 caracteres, sin
caracteres raros ni espacios y no deben empezar con número
– Si hay números decimales, éstos deben estar en formato de
inglés, es decir, los decimales deben denotarse por punto
(si no sabe cómo vea el archivo StataHablaIngles.pdf en la página)
2. Desde excel de “Guardar Como” y en la pestaña de opciones elija la
opción: “Texto (delimitado por tabulaciones) (*.txt)”
Asegúrese de saber donde lo está guardando
3. En Stata (interactivamente o en un archivo do), use el comando:
.
insheet using “c:\Taller UTB\datos.txt” , tab
clear
17
Ejemplo:
Suponga que tengo la siguiente información en Excel y quiero llevarla a
Stata. El archivo se llama DatosEjemplo.xls.
Todos los archivos de este ejercicio los tengo en: “D:\Taller UTB”
18
En una hoja diferente, o en otro archivo, le quito todos los formatos,
espacios de los nombres y lo dejo como un rectángulo empezando en la
celda A1
19
Lo guardo como formato de texto (delimitado por tabulaciones). Se le
puede poner un nombre diferente al de la base de datos de Excel, pero yo
en general lo dejo con el mismo nombre (la extensión es diferente):
DatosEjemplo.txt
20
En la ventana de comando de Stata, podemos simplemente digitar:
.
insheet using "D:\Taller UTB\DatosEjemplo.txt", tab clear
21
22
Pero como ya aprendimos a usar los archivos do, una mejor forma sería
tener un do-file de la siguiente manera (LecturaExcel.do):
****************************************************************
* Descripción: Lectura de datos de excel (ejemplo)
*
* Input: DatosEjemplo.txt
*
Output: DatosEjemplo.dta , LogLectura.txt
*
* Creado:
11mayo2011 (1146am) - JuanBarón
* Modificado:
11mayo2011 (12:35pm) - JuanBarón
****************************************************************
version 10.1
clear all
set more off
set memory 100m
* Creando un log de la sesión
capture: log close
log using "D:\Taller UTB\LogLectura.txt", text replace
* Leyendo los datos
insheet using "D:\Taller UTB\DatosEjemplo.txt", tab clear
describe
list
* Guardando los datos en formato de Stata
save "D:\Taller UTB\DatosEjemplo”, replace
log close
exit
23
24
Después de correr el archivo LecturaExcel.do estos son los archivos con
los que quedo en mi directorio. Sin abrirlos, ¿Sabe qué contiene cada
uno de ellos?
25
Resumen
De estas diapositivas usted debe tener un entendimiento de cómo en
Stata se pueden escribir programas (archivos do), cómo importar datos
de una hoja de Excel o un archivo de texto y cómo crear un archivo de
texto que guarda todo lo que sale en la ventana de output de Stata
•
Archivos do o do-files
•
Archivos log (resultados de la ventana de comando)
•
Lectura de datos en archivos de texto
•
Comandos introducidos:
– version
– “Log using” y “log close”
– Prefijo “capture”
– insheet
– set more off
– set memory
26
Descargar