Actividad3 2 david a. condori tantani

11
Introducci´on a Stata Clase 1: Funciones B´asicas R. E. De Hoyos * University of Cambridge 17 de febrero de 2005 1. Introducci´on En esta primera sesi´on, se tocar´an los puntos b´asicos sobre el funcionamiento de Stata. Iniciaremos la sesi´on personalizando Stata. Una vez familiarizado con las ventanas del programa, veremos las diferentes formas de introducir datos, modificarlos, analizarlos y salvarlos. Finalmente aprenderemos a uti- lizar los recursos disponibles en la red para responder a nuestras preguntas y estar al dia sobre los desarrollos de Stata. 2. Personalizando Stata El depliegue de Stata presenta cuatro ventas diferentes: “Review”, “Results”, “Variables” y “Commands”. En “Review” aparencen los comandos que han sido utilizados durante las sesi´on en turno. S´olo los resultados m´as recientes * [email protected] 1

Transcript of Actividad3 2 david a. condori tantani

Page 1: Actividad3 2  david a. condori tantani

Introduccion a Stata

Clase 1: Funciones Basicas

R. E. De Hoyos*

University of Cambridge

17 de febrero de 2005

1. Introduccion

En esta primera sesion, se tocaran los puntos basicos sobre el funcionamiento

de Stata. Iniciaremos la sesion personalizando Stata. Una vez familiarizado

con las ventanas del programa, veremos las diferentes formas de introducir

datos, modificarlos, analizarlos y salvarlos. Finalmente aprenderemos a uti-

lizar los recursos disponibles en la red para responder a nuestras preguntas

y estar al dia sobre los desarrollos de Stata.

2. Personalizando Stata

El depliegue de Stata presenta cuatro ventas diferentes: “Review”, “Results”,

“Variables” y “Commands”. En “Review” aparencen los comandos que han

sido utilizados durante las sesion en turno. Solo los resultados mas recientes

*[email protected]

1

Page 2: Actividad3 2  david a. condori tantani

son visibles en la pantalla “Review”, mientras que “Command” sirve para

utilizar Stata de forma interactiva.1

Al instalar Stata, varios archivos son creados para su uso posterior. El mas

utilizado es el archivo “Stata” cuya direccion esta indicada en la parte inferior

izquierda de la pantalla; es aquı donde son salvados los datos y resultados si

no se especifica otra ruta. Para visulizar la ruta de todos los archivos creados

por Stata, escriba la palabra sysdir en la barra de comandos.2 La ruta

de estos archivos puede ser modificada utilizando el comando sysdir set

nombre del archivo seguido por la nueva direccion. La ruta del archivo

“Stata” tambien puede ser modificada escribiendo el comando cd seguido

por la nueva ruta.

Comandos : sysdir

3. Manejando la Base de Datos

Hay varias formas en que podemos introducir datos en Stata. Una de las

mas comunes es utilizando el comando insheet seguido por la ruta del

archivo, este comando premite a Stata leer archivos en formato ASCII3 que

son comunmente realizados en Excel (separados por comas o bien por tabu-

ladores). Otros comandos que pueden ser utilzados son: infile1, infile2 e

infix. Tambien es posible introducir datos “a mano” utilizando el comando

edit, el cual abre una hoja de calculo. Aunque no es muy recomendable, los

datos pueden ser introducidos a Stata cortandolos desde Excel y pegandolos

en la hoja de calculo de Stata.

Si los datos ya estan en formato de Stata (terminacion .dta), estos pueden

1El tamano y posicion de las ventanas puede ser ajustado segun las preferencias del

usuario y estas pueden ser salvadas utilizando “Prefs” → “Save Windowing Preferences”.2Es importante senalar que Stata es sencible al uso de mayusculas, todos los comandos

Stata deben ser escritos utilizando solo minusculas.3American Standard Code for Information Interchange

2

Page 3: Actividad3 2  david a. condori tantani

ser cargados al programa utilizando el comando use seguido por la ruta en

donde se encuentra la base de datos. Por ejemplo:

use ‘‘C:/Mis Documentos/Stata/Datos1.dta’’

Comandos : insheet, infile1, infile2, infix, edit, use

3.1. Asignando Memoria y Tamano de la Matriz

Stata cuenta con un optimizador de memoria el cual asigna una cantidad

predeterminada de memoria a cada observacion, la cantidad asignada au-

tomaticamente es de 10M. El usuario debe incrementar esta cantidad si con-

sidera que la base de datos necesita mas recursos utilizando el comando set

memory seguido por la cantidad en mega bytes. Si la memoria asignada es in-

suficiente dado el tamano de la base de datos, Stata emitira el siguiente error:

‘‘no room to add more observations’’. Una ves que los datos han sido

cargados, estos se pueden comprimir usando compress, un comando muy util

cuando se manejan varias bases de datos grandes.

Otro valor que debe ser asignado de acuerdo al tamano de la base de datos y

el tipo de analisis que se pretende realizar con ella, es el tamano de la matriz.

El valor asignado por Stata (en su edicion especial) es de 400 variables, este

puede ser incrementado hasta 11,000 en el caso de la edicion especial (800 en

la version mas pequena de Stata) usando el comando set matsize.

Comandos : memory, compress, matsize

3.2. Leyendo los Datos

Stata almacena las varaibles asignandoles diferentes formatos dependiendo

del tipo de informacion de sus observaciones. Para obtener esta y otra infor-

macion como numero de variables u observaciones use el comando describe.

3

Page 4: Actividad3 2  david a. condori tantani

Para ver las observaciones en pantalla, se puede utilizar edit o bien list

seguido por el nombre de la variable o variables que se deseen visualizar.

La diferencia entre edit y list es que el primero despliega toda la hoja

de calculo mientras el segundo despliega los datos en la ventana de resulta-

dos.

Comandos : describe, edit, list

3.3. Guardando los datos

Para guardar los datos use el comando save seguido por la ruta en donde se

quieren salvar. Para borrar una base de datos no deseada utilice el comando

erase seguido por la ruta. El comando clear descarga los datos de la memo-

ria temporal de Stata; notese que al utilizar clear no se realizara ninguna

advertencia antes de descargar los datos y si la base de datos original ha sido

modificada sin ser salvada estos cambios se perderan.

Comandos : save, erase, clear

4. Modificando la Base de Datos

Una vez cargada la base de datos, es muy comun modificarla para crear

nuevas variables o bien cambiar el orden o contenido de las mismas. Los

siguientes comandos son muy utiles para estas tareas:

label Este comando sirve para anadir etiquetas tanto a variables (label

variable) como a bases de datos (label data).

order, move y aorder Estos comandos cambian el orden en que se encuen-

tran las variables. order seguido por lista de var cambia el orden segun

sea especificado por la lista de variables. move var1 var2 en cambio,

sustituye la variable1 en la posicion de la variable2. aorder acomoda

las varibles en orden alfabetico.

4

Page 5: Actividad3 2  david a. condori tantani

sort Ordena de forma acendente las observaciones basado en una o mas

variables.

generate Genera una nueva variable definida en base a una expresion numeri-

ca la cual puede contener otras variables. Por su flexibilidad, este es uno

de los comandos mas importantes de Stata, ya que se pueden utilizar

un gran numero de operaciones logicas, aritmeticas y matematicas para

definir expresion. En el siguiente cuadro tratamos de resumir las expre-

siones mas utilizadas con generate.

5

Page 6: Actividad3 2  david a. condori tantani

Cuadro 1: Expresiones usadas por generate

Expresiones Logicas Significado

&, | Y (AND), O (OR)

>,< Mayor que, Menor que

==, ! = Igual a, Diferente a

>=, <= Mayor o Igual, Menor o Igual

Expresiones Aritmeticas

+,− Mas, Menos

∗, / Multiplicacion, Division

n, N Numero de observacion corriente, Numero de

observaciones totales

Algunas funciones Matematicas

abs() Valor absoluto

cond(x; y; z) si x es igual a 0, entonces y.., de otra forma z..

exp() funcion exponencial

round(x; y) redondea x en unidades de y; round(.,1) rodondea a

la integral mas cercana.

log() logaritmo natural

min(x1; x2; : : :) el mınimo de x1; : : : ; xn

max(x1; x2; : : :) el maximo de x1; : : : ; xn

sqrt() raiz cuadrada

sum() La suma para la expresion entre parentesis.

uniform() Genera numeros aleatoreos entre 0 y 1 con

una distribucion uniforme.

See: help functions

egen Es una extencion de generate que contiene una gran cantidad de fun-

ciones pre-establecidas con las que se pueden generar nuevas variables.

replace Cambia el contenido de una variable ya existente sustituyendola

por una expresion.

6

Page 7: Actividad3 2  david a. condori tantani

encode Cuando una variable esta en formato string (es decir no-numerico) no

se pueden obtener estadısticas sobre ella. encode y su opuesto decode

cambian el formato de una variable string a numerico y viceversa. Alete-

nativamente podemos utilizar los comandos tostring y destring los

cuales realizan las mismas funciones pero con mas opciones.

reshape wide, long Este comando transforma la base de datos de una for-

mato ancho (wide) a uno largo (long) y viceversa. reshape puede trans-

formar de una base de datos como la siguiente en formato ancho:

Cuadro 2: Datos en formato wide

Xij

id sexo ing80 ing81 ing82

1 0 5000 5500 6000

2 1 2000 2200 3300

3 0 3000 2000 1000

A uno largo como este:

Cuadro 3: Datos en formato long

i j Xij

id ano sexo Ing

1 80 0 5500

1 81 0 5500

1 82 0 6000

2 80 1 2000

2 81 1 2200

2 82 1 3300

3 80 0 3000

3 81 0 2000

3 82 0 1000

7

Page 8: Actividad3 2  david a. condori tantani

keep Seguido por una lista de variables mantiene las variables especificadas

eliminando las no incluidas en la lista. Analogamente el comando drop

elimina las variables que le siguen al comando conservando las no-

incluidas.

5. Combinando Bases de Datos

Muchas veces es necesario combinar dos o mas bases de datos para formar

una sola. Para ello se pueden utilizar los comandos merge o append. merge

une dos bases de datos utilizando una variable en comun. Las dos bases de

datos deben estar en formato .dta (Stata) y las observaciones deben estar

ordenas (utilizando sort) de acuerdo a la variable que sirve como referencia.

El objetivo de merge es anexar variables no observaciones. Por ejemp-

lo:

use ds2

sort recid

save ds2, replace

use ds1

sort recid

merge recid using ds2

Lo que este pequeno codigo nos dice es que carguemos la base de datos ds2

(use) y la ordenemos de acuerdo al identificador recid (sort) y guardemos los

cambios reeplasando ds2 (save). Posteriormente abrimos la segunda base de

datos utilizando el comando use, la ordenemos en base a recid y finalmente

la pegamos (merge) de acuerdo a recid utilizando la base de datos ds2.

En el caso de append sucede lo contrario, lo que se busca es anexar observaciones—

por lo general—a una misma serie de variables. La sintaxis es mucho mas

8

Page 9: Actividad3 2  david a. condori tantani

sencilla pues solo se tiene que nombrar la base da datos que se desea anexar.

Por ejemplo:

append using ndatos

Por ultimo, si se desea contruir una nueva base de datos que contenga in-

formacion condensada de la base original, esto se puede hacer utilizando el

comando collapse. Supanga que tiene una base de datos sobre hogares y que

cada hogar tiene una observacion para cada miembro que lo integra. Si cada

hogar dispone de un identificador unico, entonces se puede formar una base

de datos alternativa que contenga una sola observacion por hogar (en lugar

de una observacion por individuo) para cada una de las variables deseadas.

Esta observacion puede contener la media, la desviacion estandar, la suma u

otro estadıstico por hogar. Por ejemplo:

collapse (mean) edad educacion ingreso, by(hogar)

El codigo anterior crea una base de datos con cuatro variables (hogar, edad,

educacion e ingreso) con una observacion por hogar, la cual contiene el prome-

dio de cada variable por hogar.

Comandos : merge, append, collapse

6. Sintaxis y Obteniendo Ayuda

Como lo podemos ver en los ejemplos anteriores, la sintaxis de los comandos

Stata tienen un formato comun. Esta sintaxis es la siguiente:

[by lista de var :] comando lista de var [if expresion] [in rango]

[ponderadores ] [using nombre del archivo], [opciones ]

Sin embargo para la moyor parte del curso solo necesitaremos una version

mucho mas simple como:

[by lista de var :] comandolista de var [if expresion], [opciones ]

9

Page 10: Actividad3 2  david a. condori tantani

El prefijo by permite aplicar el mismo comando separando la base de datos en

subgrupos definidos por lista de var. Posteriormente viene el comando seguido

por una segunda lista de var a las cuales se les aplicara el comando elegido.

Los datos utilizados para evaluar el comando pueden ser limitados con las

opciones if e in. Las opciones especıficas al comando tienen que ser precedi-

das por una coma. A lo largo del tutorial se utilizara esta sintaxis de forma

continua de manera que al final del curso el participante estara familiarizado

con ella.

Vea: help language

Otra informacion clave es la forma en que podemos obtener ayuda. Todos

los comandos Stata tienen informacion acerca de la manera en que deben

utilizarce (sintaxis y opciones); para acceder a ella es solo cuestion de es-

cribir la palabra help seguida por el nombre del comando en la ventana

de comandos de Stata. Si no conoce el nombre del comando que realiza la

tarea que tiene en mente, escriba la palabra findit seguida por una palabra

que este relacionada con dicha tarea. Este comando busca en toda la docu-

mentacion tanto interna como aquella que se encuetra en la pagina red de

Stata. Adicionalmente, existen paginas de internet con materiales didacticos,

estos son algunas de las mas importantes:

http://www.stata.com/support/

http://www.stata.com/support/faqs/

http://www.ats.ucla.edu/stat/stata/sk/

http://www.ats.ucla.edu/stat/stata/

http://ideas.repec.org/s/boc/bocode.html

Stata se actualiza casi continuamente, los usuarios pueden escribir programas

y mandarlos al archivo de SSC (Statistical Software Components), por lo

tanto es necesario hacer actualizaciones de forma regular. El comando update

10

Page 11: Actividad3 2  david a. condori tantani

query le indicara si es necesario hacer actulizaciones.4

7. Resumen

En esta primera sesion aprendimos los puntos mas basicos del funcionamien-

to de Stata incluyendo la importacion, tranformacion y el manejo de bases

de datos. Otros puntos clave consistieron en el procedimiento para cargar las

bases de datos en formatos diferentes a Stata, ası como asignar la suficiente

memoria y tamano de matriz para cargar los datos y llevar al cabo el anali-

sis. La combinacion de bases de datos y la generacion de nuevas variables

utilizando las expresiones del comando generate fueron entre las tareas mas

importantes de la sesion.

4Para hacer las actualizaciones es necesario que su computadora este conactada a la

red; si su conexion utiliza un proxy, tiene que configurar Stata, vea help netio.

11