Sei sulla pagina 1di 117

Curso Nivelacin STATA

Magster en Polticas Pblicas


Javiera Vsquez N.
1
1
Investigadora, Centro de Microdatos, Departamento de Economa, Universidad de Chile
(jvasquez@en!uchile!cl"! Cualquier error es responsa#ilidad e$clusiva del autor!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
1
TABLA DE CONTENIDOS
I.INTRODUCCIN ................................................................................. 4
II.UNA PEQUEA INTRODUCCIN AL PROGRAMA ................................ 5
III.COMO ORGANIZAR EL TRABAJO EN STATA ...................................... 7
IV.CMO CARGAR UNA BASE DE DATOS? ............................................ 9
V.LEYENDO LOS DATOS ...................................................................... 7
I..DESCRIBE........................................................................................!
I.".CODEBOO# ....................................................................................."$
I.%.EDIT .............................................................................................""
I.4.LIST& INSPECT& DUPLICATES& COUNT& ORDER..........................................."%
I.5.SUMMARIZE ...................................................................................."7
I.'.TABULATE.......................................................................................%$
VI.MODI(ICACIN DE UNA BASE DE DATOS. ...................................... %7
I.7.MODI(ICACIN DE VARIABLES DE UNA BASE DE DATOS.............................%7
I.!.UNIR BASES DE DATOS) MERGE Y APPEND...............................................4"
I.9.CONDENSAR UNA BASE DE DATOS) COLLAPSE...........................................5
I.$.CAMBIAR LA ESTRUCTURA DE LA BASE DE DATOS) RES*APE......................5"
I..ELIMINAR VARIABLES) #EEP Y DROP....................................................55
I.".CREAR VARIABLES) GENERATE Y EGEN..................................................57
VII.APLICANDO LO APRENDIDO I ...................................................... '
I.%.UN EJEMPLO APLICADO.....................................................................'
I.4.ARC*IVOS LOG...............................................................................'7
I.5.ARC*IVOS DO) PARA TRABAJAR EN (ORMA PROGRAMADA EN STATA..........'9
VIII.APLICANDO LO APRENDIDO II ................................................... 7'
I.'.PORCENTAJE DE MESES COTIZADOS+ TRABAJADOS Y CESANTE....................77
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
2
I,.CREAR MATRICES PARA GUARDAR LOS DATOS .............................. !%
,.CICLOS RECURSIVOS ...................................................................... !'
,I.GR-(ICOS ..................................................................................... !'
,II.AYUDA) *ELP ............................................................................. "
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
3
I. Introduccin
Este documento pretende los introducir el uso del programa %&'&', mediante la entrega de
conceptos ( comandos #)sicos para el inicio en este sot*are! En una primera parte haremos una
peque+a introducci,n al programa, luego veremos #revemente como se carga una #ase de datos, (
en una tercera parte se ver) cual es la manera m)s adecuada de tra#ajar con ella! 'dicionalmente, en
una cuarta parte se ver)n los comandos que com-nmente se utilizan para inspeccionar una #ase de
datos ( o#tener estadsticas descriptivas de sus varia#les, especicamente veremos comandos como
sum, el cual nos entrega un set de estadsticas #)sicas de la varia#le, descri#e, ( varios otros! En
una quinta parte se ense+ara como se pueden modiicar las #ases de datos, especialmente,
cam#iando el nom#re de las varia#les, unir #ases de datos, eliminar ( agregar varia#les, cam#iar la
estructura de ellas ( crear nuevas varia#les a partir de las varia#les e$istentes!
En una se$ta parte se aplicar) lo aprendido ( a partir de ese ejercicio se introducir) la utilidad de los
archivos log ( do! En la s.ptima parte se mostrar) c,mo podemos plasmar la inormaci,n que nos
interesa de los datos en dierentes tipos de gr)icos! /inalmente en la octava ( -ltima parte se
ense+ar) la utilidad del comando help, el cual nos ser) de gran utilidad para poder avanzar ( utilizar
stata cuando no tenemos mu( claro cual es el comando a utilizar!
Es importante aclarar que gran parte de los comandos de stata se puede hacer mediante la
utilizaci,n directa del comando, o mediante la utilizaci,n de ventanas! Durante este curso veremos
am#as ormas!
Un concepto importante de entender antes de comenzar a utilizar este sot*are estadstico, es el de
Base de Datos, el primer paso para poder tra#ajar con %&'&' es cargar la #ase de datos! Una #ase
de datos en un conjunto (matriz" de inormaci,n, tenemos ilas ( columnas, las que en su conjunto
orman la #ase de datos! 0eneralmente se organiza de orma tal que las varia#les se representan por
columnas ( las o#servaciones por ilas! 1or ejemplo, si estamos estudiando las varia#les escolaridad
e ingreso para las mujeres! 2uestra #ase de datos tendr) dos columnas, donde cada una de ellas
representa la escolaridad e ingreso, ( cada ila representa una mujer!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
4
escolaridad Ingreso
34 54!444
36 364!444
37 334!444
8 59!444
9 :4!444
5 ;9!444
3: 894!444
63 3!644!444
6 ;4!444
II. Una peue!a introduccin al progra"a
%&'&' es una aplicaci,n completa e integrada, #asada en comandos, que tiene todos los elementos
necesarios para realizar an)lisis estadstico, manejo de datos estadsticos ( gr)icos! <as versiones
mas nuevas de %&'&' (a partir de la versi,n 5!4" posee una orma m)s )cil de utilizar, que
consiste simplemente en hacer clic en ventanas con las opciones de an)lisis ( procesamiento de
datos, adem)s tiene la opci,n =antigua> mediante los comandos! El programa posee una a(uda en
lnea, es un programa )cil ( r)pido de utilizar!
#C"o se ve STATA$
Cuando a#rimos el programa, inmediatamente podemos distinguir 8 ventanas?
@evie*? en esta ventana aparecen los comandos que han sido utilizados durante la
secci,n en turno!
@esults? muestra los resultados de la aplicaci,n de los comandos, s,lo los resultados m)s
recientes son visi#les en esta ventana
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
5
Aaria#les? en esta venta se presenta el listado de varia#les que se encuentran en la #ase de
datos que se este tra#ajando
Commands? corresponde a la ventana donde introducen los comandos para o#tener el
resultado deseado! %irve para utilizar %&'&' en orma interactiva!
<os conos de la parte superior tienen los siguientes usos?
'#rir una #ase de datos
0uardar una #ase de datos, una vez que ha sido modiicada en el programa
Imprimir los resultados de la ventana de resultados (%&'&' @esults"
Comenzar o a#rir un archivo log. Estos archivos tienen un ormato de te$to ( permiten ir
guardando todos los resultados!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
6
'#rir el editor de doBile! <os archivos do son archivos con esta e$tensi,n que nos permiten en
orma ordenada escri#ir todo lo que queremos hacer en nuestra #ase de datos? cam#iar la #ase de
datos, sacar estadsticas, etcC, ( luego presionando correr dicho do ( o#tener los resultados!
6

1ermite ver ( editar la Dase de Datos!
Es igual al EDI&E@, pero no permite eliminar varia#les ni o#servaciones!
Es el administrador de varia#les, aqu se puede nom#rar ( etiquetar las varia#les ( sus
categoras!
Es para detener la ejecuci,n de un comando!
III. Co"o organi%ar el traba&o en STATA
Cuando se a#re %&'&' es importante sa#er donde se esta tra#ajando, es decir, en que carpeta se
est)n guardando los resultados o desde que carpeta vamos a llamar la #ase de datos, etc! %i no se
sa#e la carpeta o directorio donde %&'&' esta u#icado podemos averiguarlo escri#iendo el
comando pwd:
pwd
C?Fdata Este resultado nos indica que estamos u#icados en el disco C del computador en la
carpeta data
1ara cam#iar el directorio o carpeta se de#e realizar lo siguiente?
2
<o ideal es com#inar la utilizaci,n de un do ( un logG el primero permite tener en orma ordenada todos los
comandos que se est)n utilizando ( todas las instrucciones que se quieren ejecutar, mientras que el segundo
guarda en un archivo de te$to todos los resultados que surgen de este archivo do!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
7
cd C:\Nivelacion_Stata
Utilizo el comando cd ( entrego la nueva ruta! En este caso le esto( indicando al programa que se
u#ique en la carpeta =2ivelacionH%tata> que se encuentra en el disco C del computador!
<a ventaja de indicar desde un comienzo en que carpeta del computador se esta tra#ajando, es que
evita indicar la ruta completa de los archivos cada vez que queramos a#rir o guardar una #ase de
datos, o a#rir o guardar un log! E#viamente esto tiene sentido cuando para un tra#ajo especico
tenemos todos los archivos necesarios en la misma carpeta!
1or ejemplo, si estamos tra#ajando con inormaci,n de tres #ases de datos distintas, ( queremos
dejar la inormaci,n relevante para el estudio en una sola #ase datos (m)s adelante veremos como
hacer esto", lo ideal es tra#ajar en una sola carpeta, =2ivelacionH%tata>, ( no tener las tres #ases de
datos repartidas en carpetas distintas! %i no est)n en la misma carpeta no es -til indicarle el
directorio al comienzo, (a que igual cuando llamemos a cada una de las #ases de datos, al estar en
carpetas distintas, tendremos que cam#iar la ruta!
I"portante? los sistemas operativos m)s nuevos permiten que las carpetas tengan nom#res con
espacio en #lanco, por ejemplo, =2ivelacion %tata>! %in em#argo, %&'&' no va a reconocer una
carpeta que tenga espacios en blanco en el nom#re, a no ser que se indique la u#icaci,n de esta
carpeta entre comillas! 1or este motivo, se de#e evitar llamar a una carpeta con la que van a tra#ajar
en %&'&' con nom#res que contengan espacios en #lanco!
7

%upongamos que la carpeta en que vamos a tratar se llama =2ivelacion %tata>, en la primera lnea
del siguiente cuadro podemos apreciar que al entregar la u#icaci,n de la carpeta utilizando el
comando cd, el programa nos entrega un error =invalid s(nta$>, esto se de#e a que el nom#re de la
carpeta tiene espacios en #lanco! %i agregamos comillas a la ruta no se produce el error!
3
Esto pro#lema es com-n cuando tra#ajan en el Escritorio del computador, (a que la carpeta en este caso es
C?FDocuments and %ettingsF!!!!, tiene espacios en #lanco!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
8
%i al introducir un comando no aparece un punto #lanco despu.s de ejecutado el comando,
signiica que no se termino o no se ha terminado de ejecutar! 'dem)s, siempre que
aparezcan letras rojas signiica que ha( un error, la a(uda para el error la pueden encontrar
pinchando r(3I5"!
En resumen, para tra#ajar ordenadamente en %&'&' es conveniente crear una carpeta para cada
tra#ajo independiente, esta carpeta de#e tener una ruta que no contenga espacios en #lanco en los
nom#res!
IV. #C"o cargar una base de datos$
<as #ases de datos en ormato %tata tienen e$tensi,n !dta! <as versiones antiguas del sot*are no se
pueden a#rir #ases de datos que han sido tra#ajadas ( guardas en una versi,n m)s moderna, cuando
intentemos hacer esto el programa entregar) un error indicando que la #ase no tiene ormato %tata!
'ntes de a#rir una #ase de datos se tienen que cumplir dos condiciones?
3B El programa de#e estar limpio, sin ninguna #ase de datos (a cargada! 1ara limpiar
el programa de otras #ases de datos se de#e utilizar el comando clear! %i he estado
tra#ajando una #ase de datos previamente la cual se ha modiicado ( no he guardado
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
9
estas modiicaciones, al intentar a#rir una nueva #ase de datos sin limpiar antes arrojar)
el siguiente error?
noG data in memor( *ould #e lost
6B El programa de#e tener suiciente memoria! 1ara entregarle memoria a %tata se
de#e utilizar el comando set "e"! 1or ejemplo, si la #ase de datos que deseamos
cargar pesa 344 MD, en la ventana Stata Command de#emos tipear?
set mem 344m
%i Ud! no agrega memoria ( los 34 MD que vienen asignados al a#rir el programa no
son suicientes, el programa arrojar) el siguiente error?
no room to add more o#servations
Esto tam#i.n puede suceder cuando se ha tra#ajado en la #ase de datos ( se han creado
muchas varia#les? en un momento el programa se puede quedar sin memoria! En este
caso se de#e limpiar el programa (#orrar la #ase de datos" utilizando el comando clearG
entregarle m)s memoria al programa utilizando set "e"G a#rir la #ase de datos (
realizar todo nuevamente! 1or esta raz,n es undamental que Ud!, cuando comience a
tra#ajar, asigne la memoria necesaria para todas las varia#les que espera generar!
El comando general para entregar memoria a %tata es?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
10
set mem JK#LMLmLgN K, permanentl(N
con la opci,n =permanentl(> la cantidad de memoria ingresada se mantendr) cada vez
que se inicie nuevamente el programa!
E$isten distintas ormas de cargar una #ase de datos?
1- Utilizando una #ase (a gra#ada con la e$tensi,n de %&'&', es decir, disponer de
la #ase de datos como nombre.dta En este caso podemos apretar el icono ( #uscar
la u#icaci,n de la #ase de datos! &am#i.n podemos hacerlo dirigi.ndonos a
/ileOEpenC
2- Etra orma es tipear en Stata Command use =Kdisco en que la guardaremosN F Kruta
de accesoN F Knom#re de archivo!dtaN>, clear! 1or ejemplo?
o simplemente
si (a le hemos indicado previamente a %tata que vamos a tra#ajar en la carpeta
=2ivelacion de %tata> u#icada en del disco CFPavieraFCursosHmagisterFM11!
2otar que en am#os casos el comando incorpora la opci,n =, clear>, esto nos garantiza
que la #ase de datos sea a#ra si es que (a e$iste otra #ase de datos previa en el
programa, esta opci,n ahorra el paso previo de ejecutar el comando clear antes de
a#rir la #ase de datos!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
11
@ecuerde que si la carpeta en la que esta tra#ajando tiene espacios en #lanco, de#o
poner comillas al llamar la #ase de datos, de lo contrario aparecer) el siguiente error?
Esto porque %tata cree que el nom#re de la carpeta es simplemente 2ivelacion! %i
utilizamos comillas no se produce el error!
'hora si el nom#re de la carpeta o el nom#re de la #ase esta mal ingresado en el
comando se produce el siguiente error?
3- &raspasar los datos de un archivo E$cel o similar copiando la inormaci,n de este
archivo al EDI&E@ de %&'&'!
Esto se hace copiando en el archivo E$cel las columnas (varia#les" que queremos
traspasar como #ase de datos a %&'&' (CtrQC"! <uego nos dirigimos a %&'&'
a#rimos el EDI&E@ ( pegamos la inormaci,n (CtrQA"! E#viamente antes de
hacer esto se de#e ha#er limpiado %tata con el comando clear!
'lgunos aspectos relevantes antes de copiar los datos de E$cel a %tata?
1ara %tata, como para cualquier otro sot*are norteamericano, el separador de
miles es la coma (,", ( el separador de decimales es el punto (!"G %i el computador en el
que esta tra#ajando no esta conigurado de esta orma, de#e dirigirse en E$cel a
='rchivo> luego pinchar =Epciones>?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
12
En ='vanzadas> se puede modiicar los separadores del sistema, ha( que utilizar =!>
para decimales ( =,> para el separador de miles!
&odas las varia#les que son num.ricas, de#en estar en ormato num.rico antes de
ser e$portadas!
El siguiente cuadro muestra lo que resulta de pasar la #ase de datos #ase!$ls a %tata?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
13
El color rojo indica que la varia#le no es num.rica!
0eneralmente las #ases de datos mu( grandes no vienen en E$cel, (a que este programa
es limitado en cuanto al n-mero de ilas (o#servaciones" ( n-mero de columnas
(varia#les"! El n-mero m)$imo de ilas es de ;9!97;, ( el n-mero m)$imo de columnas
es de 69;!
4- Etra orma de cargar #ases de datos es mediante el comando insheet, este comando
permite cargar #ases de datos en ormato '%CII (te$to" mediante el siguiente comando?
o alternativamente?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
14
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
15
Cuando las #ases de datos vienen el te$to ( son mu( grandes no se pueden ver
utilizando un #locM de notas, en estos casos se recomienda utilizar el programa &e$t1ad
que puede ser descargado gratuitamente (***!te$tpad!com"! %iempre es recomenda#le
inspeccionar la #ase de datos en te$to antes de ser traspasada a %tata!
5- %i la #ase de datos tiene otro ormato, por ejemplo, %1%% (!sav", d#ase (!d#",
'ccess (!m#d", etcG e$iste un sot*are llamado Stat Trans'er, que permite transormar
#ase de datos desde ( a diversos ormatos!
<uego para guardar la #ase de datos utilizamos el comando save?
1- %i quiere reescri#ir la #ase de datos antigua?
Es importante escri#ir replace, sino el programa les enviara un error diciendo que la
#ase de datos (a e$iste!
2- %i quiere guardar la #ase de datos con un nuevo nom#re no es necesario tipear
replace?
Una vez que los datos han sido cargados, se puede optimizar el espacio que estos
ocupan utilizando el comando compress, este comando comprime la #ase de datos! Es
mu( -til cuando tra#ajamos con #ases de datos grandes!
Rasta ahora hemos aprendido como cargar una #ase de datos en %tata, en lo que sigue se ver)n
los comandos #)sicos para analizar una #ase de datos!
Entonces, con los comandos reci.n estudiados, comencemos por a#rir la #ase de datos?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
16
V. (e)endo los datos
E$isten varios comandos que nos permiten o#tener inormaci,n preliminar acerca de de los datos (
estadsticas acerca de ellos! Aeremos #)sicamente los comandos descri#e, codebook, edit,
sum, tab, inspect, count ( duplicates.
'ntes de ver detallamente cada uno de estos comandos descriptivos es necesario aclarar que cada
uno de ellos puede ser utilizado para ver el comportamiento de grupos de
o#servaciones mediante las opciones by e if! 1or ejemplo? by sexo:
codebook, el cual nos mostrara la aplicaci,n del comando codebook separado
para cada se$o o code#ooM if sexo==1, el cual nos mostrar) la aplicaci,n del
comando code#ooM para el se$o que este codiicado con el n-mero 3!
&am#i.n podemos leer los datos usando las ventanas correspondientes, tal como lo o#servamos en
la siguiente igura?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
17
Como podemos ver, si vamos a la opci,n Data ( luego seguimos la opci,n Describe data, veremos
una serie de opciones que veremos a continuaci,n, tal como el comando descri#e o el code#ooM!
&am#i.n mediante la opci,n Data podemos directamente ver el editor de stata!
I.1. Descri#e
El comando describe entrega inormaci,n de todas las varia#les que se encuentran en la #ase de
datos! Esta inormaci,n inclu(e el tipo de almacenamiento (#(te, int, long, loat, dou#le, string"
8
, el
ormato de los datos, la varia#le que contiene el la#el (etiqueta", ( la descripci,n de la varia#le!
'dem)s entrega inormaci,n de n-mero de o#servaciones, n-mero de varia#les ( tama+o de la #ase
de datos!
4
Aer 'ne$o ' so#re el tipo de almacenamiento de datos
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
18
Cuando la #ase de datos es mu( grande ( s,lo se quiere o#tener inormaci,n de algunas de las
varia#les contenidas en ella, despu.s de describe (o simplemente d" se ingresa la lista de
varia#les de las cuales Ud! desea una descripci,n!
Etras ormas de utilizar el comando describe?
1ara usar el comando mediante el uso de ventanas #asta con seguir el mismo esquema reci.n
mostrado ( hacer do#le clic so#re describe variables in "e"or)!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
19
<uego se escri#e el nom#re de la varia#le de la cual quiero la descripci,n ( si quisiese, por ejemplo,
una descripci,n especiica, puedo aplicar alguna de las opciones que se o#servan en la ventana
anterior!
I.2. Code#ooM
E$isten otras ormas de o#tener una descripci,n de las varia#les en la #ase de datos, una de las
mejores es usar el comando codebook! 'l igual que con el comando describe, al tipear
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
20
simplemente codebook se va a descri#ir cada varia#le! El siguiente cuadro muestra la dierencia
entre am#os comandos?
Claramente el comando codebook es m)s completo, presenta la etiqueta de la varia#le, el
ormato, el rango de los datos, si esta codiicada en n-meros enteros (units? 3", cuantas
o#servaciones no tienen dato de esta varia#le, el promedio, la desviaci,n est)ndar, ( los percentiles!
&anto el comando describe como el comando codebook nos permite distinguir dos tipos de
varia#les, las num.ricas ( las no num.ricas! %,lo se pueden o#tener estadsticas de los datos cuando
las varia#les son num.ricas, aunque muchas veces es m)s )cil visualizar la #ase de datos cuando
las varia#les tienen nom#res en vez de n-meros o c,digos!
&am#i.n podemos aplicar el comando va la utilizaci,n de ventanas, lo que es similar al caso de
descri#e, con la salvedad de que el do#le clicM se hace so#re =Descri#e data contents (code#ooM">!
'h se pone el nom#re de la varia#le que queremos inspeccionar?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
21
Etra unci,n que podemos aplicar so#re la misma ventana es condicionarla a algo, como, por
ejemplo, que la inspecci,n sea s,lo para lo hom#res?
I.3. Edit
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
22
Etra orma de conocer o tener una visi,n m)s amplia de la #ase de datos es mediante el comando
editG el que nos mostrar) una planilla donde podremos ver la #ase de datos completaG sus
varia#les ( todas sus o#servaciones! &am#i.n lo podemos hacer va ventanas mediante la opci,n
=Data> ( luego =Data editor>
'l igual que en los casos anteriores tam#i.n se puede realizar la misma operaci,n va el comando
edit ( tam#i.n podemos editar una matriz mas peque+a especiicando las varia#les que queramos
incluir utilizando la encuesta casen 6447, por ejemplo =edit se$o4I edad4I esc4I numper (total>
I.4. listG inspectG duplicatesG countG order
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
23
Un comando #astante -til, similar al editG es el listG el c-al despliega los datos en la ventana de
resultados (%tata @esults"G en vez de enviarnos al editor!
Etro comandoG el cual asegura que una varia#le es una codiicaci,n -nica dentro de una #ase de
datos, es el comando duplicates report! Este comando se usa generalmente para chequear
que no e$istan o#servaciones duplicadas (olios duplicados" dentro de una #ase de datos! %i
tenemos la siguiente #ase de datos?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
24
El resultado que entrega aplicar este comando a la varia#le =id> es el siguiente?
/inalmente, e$isten otros dos comandos interesantes para inspeccionar la #ase de datos? inspect
( count!
El comando inspect muestra la distri#uci,n de la varia#le, la cantidad de o#servaciones con
valor cero, con valores ma(ores a cero ( sin dato, as como la cantidad de n-mero enteros (
no enteros en la varia#le! 1or ejemplo?unit
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
25
El comando count, lo que hace es contar tal como lo dice su nom#re! 1or ejemplo?
El comando display (di" unciona como calculadora!
Un comando adicionalG que si #ien no sirve para inspeccionar la #ase de datos, si no a(uda a
inspeccionarlaG (a que nos permite ordenar las varia#les de la manera que m)s nos acomode! Este
comando es order el cual se utiliza de la siguiente manera?
( nos entregar) la #ase de datos de tal orma que al aplicar el comando edit la primera varia#le que
veremos ser) olio, luego edad, luego a+os de escolaridad, etc!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
26
I.5. %ummarize
El comando summarize, el que se a#revia sum, entrega estadsticas #)sicas? n-mero de
o#servaciones, promedio, desviaci,n est)ndar, mnimo ( m)$imo, de las varia#les que se
especiiquen! %i s,lo se escri#e sum en %tata Command, se muestran las estadsticas de todas las
varia#les en la #ase de datos!
%i nos interesan las estadsticas de una sola varia#le, por ejemplo, escolaridad?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
27
%i requerimos las estadsticas de escolaridad, pero separado para hom#res ( mujeres, primero se
de#e ordenar la #ase de datos por g.nero (sort dhombre" ( luego hacer un sum utilizando el
comando by?
Esto mismo se podra hacer alternativamente utilizando i' ?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
28
%i al comando sum le agregamos detail despu.s de una =,>G %&'&' entrega una cantidad m)s
amplia de estadsticas so#re la varia#les! 'dem)s de las (a descritas entrega los percentiles, la
varianza, la asimetra ( la Murtosis!
&odo lo anterior se puede hacer tam#i.n mediante ventanas, especiicaremos s,lo un caso, donde se
pide un sum de la varia#le esc ( se pide una descripci,n detallada, lo que se o#tiene mediante la
opci,n =Displa( additional statistics>
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
29
I.6. &a#ulate
El comando tabulate (o tab" permite hacer ta#las con las varia#les de inter.s! <a ta#la m)s
sencilla se realiza de la siguiente orma?
Esta ta#la indica el n-mero de o#servaciones total ( de cada una de las categoras de la varia#le, el
porcentaje que cada uno representa so#re el total ( el porcentaje acumulado!
El comando tab1 permite hacer esto mismo pero para varias varia#les simult)neamente?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
30
'dem)s, con este comando, se pueden realizar cruces entre varia#les, por ejemplo?
%i en vez de las recuencias uno quiere ver el porcentaje, que sume 344S en orma horizontal
(ilas", se de#e agregar a lo anterior una coma ( la pala#ra row ( poner adem)s nofreq (para que
no se muestre las recuencias"?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
31
%i se quiere que los porcentajes sumen 344S en orma vertical (columnas" de#emos hacer lo
siguiente?
%i deseamos que se muestren am#os porcentajes?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
32
&am#i.n se pueden hacer ta#las utilizando el comando by, primero ordenando de acuerdo a la
varia#le que vo( a realizar las ta#las, por ejemplo?
Este c,digo entrega dos ta#las de la varia#le escolaridad, una para los hom#res ( otra para las
mujeres! <o mismo es posi#le de ser realizado utilizando el condicional i'?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
33
&am#i.n se puede utilizar el comando tabulate para generar varia#les dicot,micas! 1or ejemplo,
si se quiere generar varia#les dicot,micas para cada situaci,n la#oral?

=
no si
cesante esta persona la si
DEstatus
no si
trabaja persona la si
DEstatus
4
3
6 H
4
3
3 H
%e puede hacer de la siguiente orma?
Como esta varia#le tiene cuatro categoras dierentes, se crean cuatro varia#les #inarias o
dicot,micas!
%up,ngase ahora que se requiere hacer un cuadro con los a+os de escolaridad, pero en vez de
entregar la recuencia o porcentaje de o#servaciones en cada categora, se requiere que muestre una
estadstica de otra varia#le, por ejemplo, el promedio de ingreso! 1ara realizar este tipo de ta#las se
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
34
de#e usar el comando tab agreg)ndole despu.s de una coma la pala#ra summarize! 1ara el
ejemplo citado de#era utilizar el siguiente c,digo?
1or -ltimo, el comando tabstat permite realizar ta#las con las siguientes estadsticas?
--------------------------------------------------
mean promedio
count cuenta el nmero de observaciones que tiene valor
n igual que count
sum suma
max mximo
min m!nimo
range rango"max-min
sd desviaci#n estndar
var varian$a
cv coe%iciente de variacion &sd'mean(
semean error estndar de la media " sd'sqrt&n(
s)ewness asimetr!a
)urtosis )urtosis
median mediana &lo mismo que p*+(
p, ,st percentile
p* *th percentile
p,+ ,+th percentile
p-* -*th percentile
p*+ *+th percentile &igual que la mediana(
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
35
p.* .*th percentile
p/+ /+th percentile
p/* /*th percentile
p// //th percentile
iqr rango interquantil " p.* - p-*
q equivalente a especi%icar 0p-* p*+ p.*0
--------------------------------------------------
'l poner by(nombre) especiica que las estadsticas de#en ser entregadas separadamente para
cada valor de la varia#le =nom#re>!
1or ejemplo, si se quiere o#tener el promedio, la mediana, el m)$imo ( el mnimo de ingreso por
g.nero, se puede realizar de la siguiente orma?
Como hemos visto en los casos anteriores tam#i.n podemos ta#ular usando las ventanas?
%i quisi.ramos graicar escolaridad contra se$o hacemos do#le clicM so#re =&a#le o summar(
statistics> o#servamos el di#ujo que viene ( ponemos =esc> en =@o* varia#le> ( =se$o> so#re
=Column varia#le>!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
36
VI. Modi'icacin de una base de datos*
En esta secci,n veremos como se pueden modiicar las #ases de datos, desde los nom#res de sus
varia#les ( la generaci,n de nuevas varia#les hasta la orma se como se pueden unir dos #ases de
datos
I.7. Modiicaci,n de Aaria#les de una #ase de datos
1ara lograr que una #ase de datos sea m)s amiga#le ( sea entendida por cualquier usuario, es
recomenda#le incorporar etiquetas a los n-meros o c,digos de las varia#les! Esto se hace mediante
la utilizaci,n de varia#les secundarias llamadas value labels! %i una varia#le tiene una varia#le
secundaria que entregue etiqueta a los c,digos que contiene, de#era aparecer en el resultado del
comando descri#e!
1or ejemplo, la varia#le se$o4I?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
37
2o tiene asociada una varia#le secundaria que nos indique que signiica el n-mero 3 ( el n-mero 6
en esta varia#le!
Entonces para etiquetar los c,digos de una varia#le se de#en realizar dos pasos?
3B Crear la varia#le secundaria (value la#el" que realice el ne$o entre los c,digos ( sus
etiquetas?
6B Indicar que la relaci,n entre la varia#le ( su varia#le secundaria con las etiquetas?
'l hacer un describe de la varia#le =se$o4I>, este indica que e$iste una varia#le que contiene la
etiqueta de los n-meros o c,digos de esta varia#le?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
38
%i es que la #ase de datos que uno tiene (a viene con las varia#les secundarias de etiquetas (value
la#els", ( queremos sa#er que c,digo esta relacionado a que etiqueta, se de#e utilizar el comando
label list+
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
39
1or otro lado si queremos en ese instante cam#iar el nom#re de alguna varia#le ( su respectiva
descripci,n, podemos utilizar el administrador de varia#les (varia#les manager"
En Name escri#imos el nom#re de la varia#le ( en Label su descripci,n! &am#i.n es posi#le
cam#iar el nom#re de la varia#le con el comando rename:
( cam#iar la descripci,n de la varia#le con el comando label variable?
Cuando una varia#le est) en ormato string (no num.rico" no se pueden o#tener estadsticas de ella!
<os comandos encode ( decode cam#ian el ormato de una varia#le string a num.rico ( viceversa?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
40
encode variable1 generate&nueva_variable(
Mediante este c,digo generamos una nueva varia#le que le asigna un c,digo a cada pala#ra distinta
en la varia#le ( deja como etiqueta la pala#ra!
'hora cuando la varia#le que no tiene ormato num.rico, pero en realidad es un n-mero s,lo que al
traspasarlo a la #ase de datos quedo en ormato string, lo recomenda#le es utilizar el siguiente
comando?
generate nueva_variable"real&variable(
1or ejemplo, disponemos de la siguiente #ase de datos (ejstring!dta"?
<as varia#le pas ( var3 tienen ormato string, en el primer caso es una varia#le que en esencia es
no num.rica pero podramos querer codiicar, en el segundo caso es una varia#le que de#era ser
num.rica, no queremos codiicar, sino que se transorme en ormato num.rico?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
41
I.8. Unir #ases de datos? merge ( append
Muchas veces es necesario com#inar dos o m)s #ases de datos para ormar una sola! 1ara ello se
pueden utilizar los comandos merge ( append! El primero une dos #ases de datos utilizando una
varia#le en com-n (generalmente es un olio o c,digo que identiica las o#servaciones en la #ase de
datos"! <as dos #ases de datos de#en estar guardadas en ormato !dta ( de#en estar ordenadas de
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
42
acuerdo a la varia#le que se va a pegar! El o#jetivo del comando merge es agregar varia#les
(columnas" no o#servaciones (ilas"! %upongamos que tenemos dos #ases de datos, la primera
llamada uno!dta contiene la siguiente inormaci,n?
id esc se$o edad
3
6
7
8
9
;
:
5
I
5
I
33
37
39
6
4
34
I
3
6
6
6
3
6
3
3
3
64
99
89
8:
76
73
65
6;
79
T supongamos que tenemos otra #ase de datos (dos!dta" con la siguiente inormaci,n?
id ingreso
3
7
8
;
5
I
34
33
54444
II444
334444
374444
394444
644444
339444
I5444
Entonces si queremos pegar (matchBmerge" la inormaci,n de am#as #ases de datos, para ormar
una s,lo #ase de datos que contenga las varia#les? id, esc, se$o, edad e ingreso, de#emos realizar el
siguiente procedimiento?
3B Erdenar la #ase de datos dos!dta (using data set" de acuerdo a las varia#les que vamos a
hacer el pegado (id" ( guardar esta #ase de datos?
sort id
save dos.dta1 replace
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
43
6B '#rir la #ase de datos uno!dta (master data set", ordenarla de acuerdo a id ( pegar la
inormaci,n de la #ase dos!dta?
use uno.dta
sort id
merge id using dos.dta
<a #ase de datos que resulta de esto es de la siguiente orma?
id esc se$o edad ingreso Hmerge
3
6
7
8
9
;
:
5
I
34
33
5
I
33
37
39
6
4
34
I
U
U
3
6
6
6
3
6
3
3
3
U
U
64
99
89
8:
76
73
65
6;
79
U
U
54444
U
II444
334444
U
374444
U
394444
644444
339444
I5444
7
3
7
7
3
7
3
7
7
6
6
'l realizar este pegue de datos, el programa generar) una varia#le, si Ud! no le asigna un nom#re se
crear) con el nom#re Hmerge, pero Ud! puede darle el nom#re que desee de la siguiente orma?
merge id using dos.dta1 _merge&nombre(
Esta varia#le puede tomar tres valores?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
44
HmergeV3 cuando la o#servaci,n esta slo en Master Dataset
HmergeV6 cuando la o#servaci,n esta slo en Using Dataset
HmergeV7 cuando las o#servaciones est)n en a"bas #ases de datos
Aeamos un ejemplo con la #ase de datos e$peps4I!dta, en su carpeta posee otra #ase de datos
llamada e$peps4;!dta que corresponde a la misma encuesta pero realizada en el 644; para los
mismos entrevistados (parte de ellos"
%i quiero construir entonces una sola #ase de datos que contenga todas estas varia#les en orma
conjunta, de#era realizar los siguientes pasos?
<o que este peque+o c,digo nos indica es que carguemos la #ase de datos e$teps4;!dta, la
ordenemos (utilizando el comando sort" de acuerdo al identiicador =olio>, ( guardemos los
cam#ios realizados (esta #ase de datos se denomina using dataset"! <uego a#rimos la #ase de
datos a la cual le vamos a pegar varia#les (master dataset", e$teps4I!dta, la ordenamos de
acuerdo al identiicador olio, ( inalmente le pegamos la inormaci,n que esta en la #ase
e$teps4;!dta utilizando el comando merge!
%i alguna de las #ases de datos no esta ordenada les arrojara un mensaje de error?
using data not sorted
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
45
master data not sorted
El resultado de pegar am#as #ases de datos se puede revisar con la varia#le Hmerge que se genera
de manera autom)tica?
<a nueva versi,n del comando es la siguiente (no requiere ordenar las #ases de datos"?
1or otro lado, el comando append, ane$a o#servaciones para el mismo conjunto de varia#les, es
decir, agrega ilas a la #ase de datos! %upongamos que adem)s de uno!dta tenemos otra #ase de
datos (tres!dta" que contiene las mismas varia#les que la primera pero para otros 34 individuos
distintos?
id esc se$o edad
34
33
36
37
5
I
33
37
3
6
6
6
64
99
89
8:
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
46
38
39
3;
3:
35
3I
39
6
4
34
I
8
3
6
3
3
3
6
76
73
65
6;
79
64
Entonces podemos juntar estas 3I o#servaciones en una sola #ase de datos mediante el comando
append, de la siguiente orma?
use dos.dta
append using tres.dta
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
47
El resultado es el siguiente?
id esc se$o edad
3
6
7
8
9
;
:
5
I
34
33
36
37
38
39
3;
3:
35
3I
5
I
33
37
39
6
4
34
I
5
I
33
37
39
6
4
34
I
8
3
6
6
6
3
6
3
3
3
3
6
6
6
3
6
3
3
3
6
64
99
89
8:
76
73
65
6;
79
64
99
89
8:
76
73
65
6;
79
64
%upongamos ahora que tenemos inormaci,n la#oral mensual recolectada en la encuesta E1% 644I?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
48
T lo mismo proveniente de la encuesta E1% 644;?

DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
49
1odemos juntar la inormaci,n de am#as #ases en una sola de la siguiente orma?
1odemos juntar #ases de datos usando las ventanas tam#i.nG en la opci,n =Data> e$iste la opci,n
=Com#ine datasets> luego se hace do#le clic en =Merge> o ='ppend> ( nos sale una ventana que
nos permite juntar dos o m-ltiples #ases de datos?
<uego, para el caso de merge, #uscamos la #ase que le queremos a+adir a la #ase que estamos
usando ( ponemos su direcci,n donde sale =/ilename o dataset on disM>, luego en =We( varia#les>
ponemos el nom#re de la varia#le mediante el cual queremos unir las dos #ases de datos!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
50
I.9. Condensar una #ase de datos? collapse
En algunas ocasiones las #ases de datos disponen de m)s de una o#servaci,n por individuo, pas,
empresa, etc! %i nos interesa tra#ajar s,lo con una o#servaci,n por individuo podemos condesar la
#ase de datos mediante el comando collapse!
%uponga que tiene una #ase de datos de hogares ( que cada hogar tiene una o#servaci,n para cada
miem#ro del hogar que lo integra! %i cada hogar dispone de un identiicador -nico, entonces se
puede ormar una #ase de datos alternativa que contenga una sola o#servaci,n por hogar (en lugar
de una o#servaci,n por individuo" para cada una de las varia#les deseadas! Esta o#servaci,n puede
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
51
contener la media, desviaci,n est)ndar, suma, u otro estadstico por hogar (sino se especiica
calcula la media"! 1or ejemplo?
collapse &mean( edad &max( educacion &p*+( ingreso1 b2&hogar(
El c,digo anterior crea una #ase de datos con cuatro varia#les (hogar, edad, educaci,n e ingreso"
con una o#servaci,n por hogar, la cual contiene el promedio de la edad por hogar, el m)$imo de la
educaci,n por hogar ( la mediana del ingreso por hogar!
I.10. Cam#iar la estructura de la #ase de datos? reshape
1ara e$plicar como se utiliza este comando primero vamos a deinir dos representaciones de las
#ases de datos? wide form (orma horizontal" ( long form (orma vertical"!
(ong 'or"+
,ide 'or"+
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
52
En la #ase de datos en orma vertical (long orm" podemos ver que e$iste una varia#le que es
constante al interior de un =grupo>, en este caso, al interior de una empresa, tenemos una varia#le
que vara al interior de este grupo, el precio, ( una varia#le que me sirve para identiicar las
distintas o#servaciones al interior de un grupo, que es la varia#le =a+o>!
En la #ase de datos en orma horizontal (*ide orm", tengo una sola o#servaci,n por empresa pero
tengo m)s de una varia#le precio, una para cada a+o!
El comando resape me permite intercam#iar las #ases de datos entre estos dos tipos de
ormatos, de la siguiente orma?
(ong ,ide
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
53
reshape long precio1 i&3mpresa( 4&a5o( &6ide 7ong(
reshape wide precio1 i&3mpresa( 4&a5o( &7ong 6ide(
,ide (ong
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
54
I.11. Eliminar varia#les? Meep ( drop
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
55
'hora, si se tiene una #ase de datos que contiene muchas varia#les ( s,lo se va a tra#ajar con
algunas de ellas, se puede utilizar el comando -eep para mantener en la #ase de datos s,lo las
varia#les que interesan! 1or ejemplo?
)eep esc ingreso
&am#i.n podramos requerir mantener todas las varia#les pero s,lo un su#conjunto de las
o#servaciones, como por ejemplo, las de los hom#res?
)eep i% dhombre"",
o las de las personas con menos de 36 a+os de escolaridad
)eep i% esc8",-
o las de las personas con 644!444 pesos o m)s de ingreso
)eep i% ingreso9"-+++++
El comando drop cumple el mismo rol que el comando keep, sin em#argo, .ste #orra
o#servaciones o varia#les, en vez de mantenerlas! 1ara realizar lo mismo que hicimos con el
comando Meep pero utilizando drop, se de#era hacer lo siguiente?
drop expr dhombre %olio
drop i% dhombre""+
drop i% esc9,-
drop i% ingreso8-+++++
Usando ventanas tam#i.n podemos aplicar el comando Meep ( drop a trav.s de la ventada de
administraci,n de varia#les!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
56
I.12. Crear varia#les? generate ( egen
Uno de los comandos m)s relevantes en %&'&' es generate ./gen0 o /g01! Este comando
genera una nueva varia#le deinida en #ase a una e$presi,n num.rica, la cual puede contener otras
varia#les!
El siguiente cuadro resume las e$presiones m)s utilizadas?
Q suma XV Ma(or o igual Y (
B resta X Ma(or estricto que L o
Z multiplicaci,n [V Menor o igual que e$p(" e$ponencial
O divisi,n [ Menor estricto que log(" logartmo
V V igual \V Distinto que sum(" suma
Ejemplos?
generate age- " age:age &genera variable edad al cuadrado(
gen unitpr " cost'quantit2
gen xlag " x;_n-,<
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
57
Etro ejemplo! En la #ase ingreso!dta se tienen los a+os de escolaridad (esc"G a partir de esta varia#le
se podra generar una nueva (tesc" con el nivel de educaci,n alcanzado por cada individuo (D)sica
Incompleta, D)sica Completa, Media Incompleta, etc!!"! Esto se hace con el siguiente c,digo?
g tesc".
replace tesc", i% esc8=
replace tesc"- i% esc""=
replace tesc"> i% esc9= ? esc8,-
replace tesc"@ i% esc"",-
replace tesc"* i% esc9,-
El comando replace, reemplaza o#servaciones que cumplen con cierta condici,n con el valor
que uno especiica!
Etro comando -til, similar a generate, es el comando egen! Este contiene una gran cantidad de
unciones preBesta#lecidas con las que se pueden generar nuevas varia#les! <a dierencia con el
comando generate es que en este uno deine como quiere generar la varia#le (sumando,
restando, multiplicando, etc!", sin em#argo, el comando egen tiene unciones (a esta#lecidas, por
ejemplo, el promedio, la desviaci,n est)ndar, etcC
'lgunos ejemplos de estas unciones son?
count($"? crea una varia#le que contiene el numero de o#servaciones (distintas de U" en
$!
concat($ ( UUU z"? concatena las varia#les entre par.ntesis, genera una varia#le con
ormato string (no num.rico"
group($ ( UUU z"? genera una varia#le que tomas los valores 3,6,C para los grupos
ormados por las varia#les entre par.ntesis! El orden de los grupos va a depender de
c,mo est.n ordenadas las varia#les entre par.ntesis!
ma$($"? genera una varia#le que contiene el m)$imo valor de $
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
58
mean($"? genera una varia#le que contiene el promedio de $
median($"? genera una varia#le que contiene la mediana de $
min($"? genera una varia#le que contiene el mnimo valor de $
rma$($ ( UUU z"? entrega el m)$imo valor entre $, (, C, z para cada o#servaci,n (ila"
rmean($ ( UUU z"? entrega el promedio de $, (, C, z para cada o#servaci,n (ila"
rmin($ ( UUU z"? entrega el mnimo valor entre $, (, C, z para cada o#servaci,n (ila"
rmiss($ ( UUU z"? entrega el n-mero de missing values (sin o#servaci,n" en $, (, C, z
para cada o#servaci,n (ila"
rsum($ ( UUU z"? entrega la suma de $, (, C, z para cada o#servaci,n (ila"
seq(", rom(a" to(#" #locM(c"? genera una secuencia de n-meros de a hasta # en #loques
de c!
sum($"? genera una varia#le que contiene la suma de $!
<a ma(ora de estas unciones pueden ser com#inadas con el comando b), el que permite generar
varia#les por diversas categoras! 1or ejemplo, si se quiere crear el promedio de la e$periencia
la#oral para cada a+o de educaci,n, se de#e realizar lo siguiente?
egen promexpr"mean&expr(1 b2&esc(
b2 esc: egen promexpr"mean&expr(
<a segunda orma requiere que la #ase de datos est. ordenada de acuerdo a la varia#le utilizada en
b), en este caso, de#emos tipear antes?
sort esc
En esta parte veremos de manera m)s aplicada los comandos utilizados en las clases anterioresG para
ello ser) necesario ense+ar a usar los archivos do ( los archivos log, que como veremos ser)n de
gran utilidad, (a que nos permitir)n ir guardando inormaci,n! /inalmente veremos el comando
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
59
helpG el cual es un comando au$iliar que nos permite encontrar los comandos necesarios para
realizar un gama de unciones en stata!
Como con casi todos los comandos tam#i.n se pueden o#tener los mismos resultados, mediante el
uso de ventanas?
<uego de apretar do#le clic so#re =Create ne* varia#le> podemos ver que es trivial la orma de
generar otra varia#le!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
60
VII. Aplicando lo aprendido I
En esta secci,n veremos de manera aplicada lo que hemos aprendido hasta ahora ( en los dos
siguiente mostraremos a partir de est) secci,n la utilidad de los archivos do ( log! El archivo log es
el archivo donde se va guardando todo lo que aparece en la ventana de resultados, mientras que el
do es un archivo que nos permite programar todo el tra#ajo que queremos realizar en stata!
I.13. Un ejemplo aplicado
%upongamos que, utilizando la encuesta casen 644I, queremos o#tener la tasa de po#reza ( la tasa
de indigenciaG adem)s el n-mero de personas que caen en .sta categora!
El primer paso es esta#lecer memoria (si no esta preesta#lecida en el programa" ( luego a#rir la
#ase de datos?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
61
set mem .++m
use Casen-++/.dta
<uego de#emos empezar a generar las varia#les necesarias para encontrar las tasas de po#reza e
indigencia correspondiente! Como la encuesta C'%E2 se realiza a hogares ( nosotros estamos
interesados en el porcentaje de individuos po#res e indigentes ( no en el porcentaje de hogares
po#res e indigentesG lo que necesitamos es tener alg-n indicador per c)pita!
<o que generaremos a continuaci,n es una varia#le que generar) un identiicador que ser) el mismo
para los individuos que pertenecen a un mismo! <a varia#le o indica el orden de la persona dentro
del hogar, por lo cual la com#inaci,n de las varia#les identiicador del hogar (que vamos a generar"
( o de#eran ser -nicas!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
62
En la ta#la anterior podemos ver que ha(:3,8;4 hogares ( 68;,I68 individuosG adem)s podemos
ver que el n-mero de individuos por hogar vara! <a varia#le idhogar tiene asignado un c,digo por
hogar, vemos por ejemplo que el hogar 8 tiene asociados 9 individuos, ( a su vez el hogar n-mero 7
tiene asociados 6 individuos!
'hora, sa#iendo el n-mero de personas que viven en el hogar, generaremos el ingreso per c)pita del
hogar para lo cual tenemos que dividir el ingreso total del hogar por el n-mero de personas que
viven en .l! Aeamos los dierentes tipos de personas (relaci,n de parentesco con el jee de hogar"
que viven en el hogar?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
63
Como vemos en algunas casas ocurre que ha( personas que prestan servicios dom.sticos puertas
adentro ( generalmente para calcular el ingreso per c)pita del hogar de#emos e$cluir a esas
personas! 1ara ello generaremos una varia#le llamada sG la cual tomar) el valor 3 si la personas
pertenece al hogar ( no presta servicios dentro de .lG ( toma el valor de 4 si la personas presta
servicios dentro del hogar! Despu.s generaremos el n-mero de personas que pertenecen al hogar (
no prestan servicios dentro de .l! /inalmente #otamos la varia#le s, (a que la creamos s,lo como
una varia#le moment)nea para e$cluir a las personas que prestan servicios dom.sticos puertas
adentro ( o#tendremos la varia#le nps, que es la que nos se+ala el n-mero de personas que
realmente son parte del hogar!
1rimero para sa#er que c,digo de la varia#le pco3 corresponde a servicio dom.stico?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
64
'hora, que tenemos el n-mero de personas que pertenecen al hogar, estamos listos para crear la
varia#le que nos indica el nivel de ingreso individual de los ha#itantes del pas ( poder separarlo de
acuerdo al nivel de po#reza!
En el a+o 644I, se deine a una persona como po#re si est) reci#e ingresos menores a ];8,378 (
vive en zona ur#ana ( ]87,686 ( est) vive en zona rural! Una persona ser) indigente si reci#e
ingresos menores a ]76,4;: ( vive en zona ur#anaG ( ]68,:34 si esta vive en zona rural! Como se
est) pidiendo el n-mero ( le porcentaje de po#res e indigentes, necesitamos clasiicar a los
individuos en alguna de las tres categoras posi#leG no po#resG po#res no indigentes e indigentes!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
65
Una vez generada la varia#le podemos etiquetarla con una descripci,n que nos a(ude a recordar que
inormaci,n contiene esta varia#le, como tam#i.n podemos etiquetar las categoras de la varia#le!
/inalmente de#emos realizar la ta#ulaci,n de tal orma de captar no s,lo el n-mero de personas
po#res e indigentes, sino que tam#i.n su porcentaje! Es importante notar que ha( que usar actor de
e$pansi,nG (a que ello nos entregar) el valor po#lacional de los n-meros que #uscamos?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
66
I.14. 'rchivos log
E$isten dos ormas de tra#ajar en %tata? interactiva ( programada! Cuando se tra#aja en orma
programada se escri#e en un archivo do todos los comandos que se quieren ejecutar ( luego se corre
el programa de una vez para o#tener los resultados, esto ser) visto en la otra secci,n! Cuando se
tra#aja en orma interactiva, se ejecutan los comandos directamente en la ventana !ommand,
viendo los resultados en la ventana "esults! Cuando se tra#aja de esta orma es importante ir
registrando todos los pasos realizados, en caso que se quiera repetir algo en una siguiente ocasi,n o
simplemente para tener un respaldo de todo lo realizado! 1ara esto se utilizan los archivos log, estos
no son m)s que un archivo de te$to que contiene todo los comandos ejecutados ( sus respectivos
resultados!
El archivo log del ejercicio visto anteriormente?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
67
%iempre es recomenda#le a#rir un archivo log al inicio de cualquier tra#ajo?
log using clase,.log
%i el archivo log que estamos tratando de a#rir (a e$ista, el programa nos entregar) el siguiente
error?
%ile C:\Nivelacion_Stata\clase,.log alread2 exists
/rente a esto tenemos dos opciones, cual de ellas se tome depende de los o#jetivos? reemplazar el
archivo (a e$istente, o seguir escri#iendo en el archivo e$istente a continuaci,n de lo -ltimo
ingresado!
1ara reemplazar el archivo e$istente?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
68
log using clase,.log1 replace
1ara seguir a continuaci,n del archivo e$istente?
log using clase,.log1 append
I.15. 'rchivos do? para tra#ajar en orma programada en %&'&'
Como se ha mencionado en clases anteriores, e$isten dos ormas de tra#ajar en %&'&', en orma
interactiva ( en orma programada! <a primera orma consiste en ir ejecutando los comandos
directamente en la ventana de comando, los resultados se o#tienen inmediatamente en la ventana de
resultados! 'l tra#ajar de esta orma, la -nica manera de ir registrando todo lo realizado es mediante
los archivos log! %in em#argo, esta orma de tra#ajar tiene la desventaja de que una vez que uno ha
realizado varias modiicaciones a la #ase de datos ( uno quiere volver atr)s, se pierde todo lo
realizado ( ha( que volver a reconstruir todo con a(uda del log!
<a manera m)s ordenada de tra#ajar en %&'&' cuando se requiere hacer varias modiicaciones a la
#ase de datos ( o#tener varias estadsticas de ella, es programar todos los comandos en un archivo
do!
El archivo do no es mas que un archivo de te$to que permite escri#ir las instrucciones para la
ejecuci,n de comandos en %tata!
1ara a#rir el archivo do de#emos pinchar el icono , ( se a#rir) la siguiente ventana?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
69
1or ejemplo, la orma tpica de comenzar un do sera la siguiente?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
70
Este icono es para correr el do
'l poner Z antes de cualquier rase, no se lee
como comando! %irve para ir haciendo
anotaciones!
Con esto (a he a#ierto la #ase de datos! ' continuaci,n puedo empezar a escri#ir los comandos para
transormar la #ase de datos, para o#tener estadsticas, etc! E$actamente de la misma orma que lo
hara en la ventana de comandos pero ahora en orma m)s ordenada!
Es importante constantemente ir corriendo el do para detectar los errores que se est)n cometiendo!
En el cuadro siguiente o#servamos el archivo do ile correspondiente al ejemplo visto en la secci,n
3G
' continuaci,n reportaremos las tasas de indigencia ( po#reza para dierentes categoras?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
71
a* Por se2o del &e'e de 3ogar
En primer lugar ser) necesario crear una varia#le llamada se$ojh, el cual tomar) el valor de 3 si .ste
es hom#re ( 6 si .ste es mujer! <uego se etiquetar) la varia#le d)ndole el nom#re de hom#re cuando
la varia#le se$ojh tome el valor 3 ( mujer cuando se$ojh tome el valor 6!
'hora se generar) una varia#le que tomar) el valor de 3 para todos los miem#ros del hogar cuando
est. es hom#re ( 6 para todos los miem#ros del hogar cuando este es mujer! Esto se hace generando
una varia#le con el comando egen el cual genera una varia#le que toma el n-mero ma(or ^
asociado a la varia#le se$ojhB por hogarG ( como en los hogares donde el jee de hogar es hom#re el
n-mero ma(or de la varia#le se$ojh es 3 ^lo otros son missingsB ( en los hogares donde el jee es
mujer ese n-mero es 6!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
72
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
73
1odemos decir que las personas que viven en hogares con jees de hogar hom#res tienen una tasa de
indigencia es un 6!I8S, ( un porcentaje de po#res no indigentes igual a 34S, con lo cual la tasa de
po#reza es un 36!IS! 1or su parte las personas que viven en hogares con jees de hogar mujer
tienen una tasa de indigencia de 9!:S, ( un porcentaje de po#res no indigentes un 38!:S, de esta
orma la tasa de po#reza es 64!8S!
b* N"ero de personas del 3ogar
%e generar) una varia#le llamada categ_np la cual divide a los hogares en 5 dierentes
categoras, la cuales dependen del n-mero de personas que tenga el hogar! <a categoras 3, son los
hogares que tienen un solo miem#ro, la segunda categoras son los hogares que tienen dos
miem#ros, ( as hasta la octava categora que inclu(e a los hogares que tienen 5 o m)s miem#ros!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
74
En esta ta#la se puede apreciar como las tasas de po#reza e indigencia aumentan a medida que
aumenta el tama+o del hogar! En hogares de una persona el porcentaje de indigentes es 7!7IS, ( el
porcentaje de po#res no indigentes es 6!;8S! 1or el contrario, en hogares con 5 personas o m)s, el
porcentaje de indigentes de :!;3S ( de po#res no indigentes 64!I;!
c* Por educacin del 4e'e de 3ogar
En primer lugar ser) necesario crear una varia#le que determine el nivel de educaci,n (a+os de
educaci,n" de las personas encuestadas ( luego etiquetar aquellas varia#les! El nivel de educaci,n
viene determinado en la #ase de datos, sin em#argo por ejercicio aqu se vuelve a generar una
varia#le que determine el nivel educativo que la persona a alcanzado?
g neduc", i% esc""+
replace neduc"- i% esc9+ ? esc8=
replace neduc"> i% esc""=
replace neduc"@ i% esc9= ? esc8,-
replace neduc"* i% esc"",-
replace neduc"A i% esc9,-
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
75
replace neduc". i% esc"".
label de%ine neduclbl , 0Sin educaci#n0 - 0Bsica Cncompleta0 > 0Bsica Completa0
@ 0Dedia Cncompleta0 * 0Dedia Completa0 A 0Superior0
label values neduc neduclbl
<uego de separar el nivel educativo de las personas en ; niveles, se generar) una varia#le que
determinar) el nivel de educaci,n del jee de hogar solamente ( luego #ajo el mismo proceso
utilizado en la parte a se #uscar) el nivel de po#reza e indigencia por nivel educativo del jee de
hogar!
En la ta#la anterior se puede apreciar claramente como la tasa de po#reza e indigencia disminu(en
con el nivel educacional!
VIII. Aplicando lo aprendido II
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
76
En esta secci,n utilizaremos la encuesta de protecci,n social del a+o 644I (E1%644I", esta encuesta
la pueden solicitar en el sitio *e# ***!proteccionsocial!cl! Esta encuesta es del tipo longitudinal
donde las mismas personas han sido entrevistadas en los a+os 6446, 6448, 644; ( 644I!
1ara esta secci,n utilizaremos la #ase de historia la#oral ( la #ase entrevistado de esta encuesta!
I.16. 1orcentaje de meses cotizados, tra#ajados ( cesante
<a #ase de historia la#oral de la E1%644I reporta cada uno de los estatus la#orales de la persona
entre Enero644; ( Ma(o de 644IO/e#rero de 6434, dependiendo de cuando ue entrevistada la
persona!
En esta #ase de datos e$iste m)s de un registro (ila" por olio, donde cada o#servaci,n representa el
reporte de una condici,n la#oral para un olio en particular! <a siguiente igura muestra la
estructura de dicha #ase de datos!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
77
1or ejemplo, la persona con olio 3:I tiene una condici,n la#oral reportada entre Enero de 644; (
Pulio de 644I, que corresponde a inactividad! 1or otra parte el olio 3556 tiene cuatro condiciones
la#orales reportadas entre Enero de 644; ( junio de 644I (echa en que se realiz, la entrevista", la
primera condici,n la#oral (ordenV3" indica que la persona estuvo inactiva entre Enero de 644; (
junio de 644:, la segunda (ordenV6" indica que la persona estuvo tra#ajando entre Pulio de 644: (
Ectu#re de 644:, la tercera (ordenV7" indica que la persona estuvo inactiva entre 2oviem#re de
644: ( Diciem#re de 6445, la cuarta (ordenV8" indica que la persona estuvo tra#ajando entre Enero
de 644I ( Punio de 644I (momento de la entrevista"!
Con esta inormaci,n queremos construir para cada olio el n-mero de meses total reportados en la
historia la#oral, lo que depende de cuando ue entrevistado, tam#i.n la cantidad de meses tra#ajados
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
78
en este periodo, la cantidad de meses cesante, ( la cantidad de meses inactivo, as como dentro de
los meses tra#ajados cuantos cotiz, para el sistema de pensiones!
3" Deinir la echa de inicio ( de t.rmino de cada condici,n la#oral con el ormato %&'&'?
use 0historialaboral.dta01 clear
g inicio"2m& b,ia1 b,im(
%ormat inicio Etm
g termino"2m& b,ta1 b,tm(
%ormat termino Etm
6" 0enerar una varia#le que conta#ilice el total de meses que dura cada condici,n la#oral
reportada
g total"termino-inicioF,
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
79
7" <uego se generan los meses ocupado, meses cesante, meses inactivo ( meses cotizados?
g mocupados"total i% b-"",
replace mocupados"+ i% mocupados"".
g mdesempleados"total i% b-""- G b-"">
replace mdesempleados"+ i% mdesempleados"".
g minactivos"total i% b-""@
replace minactivos"+ i% minactivos"".
g mcoti$ados"total i% b,=9", ? b,=8"A
replace mcoti$ados"+ i% mcoti$ados"".
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
80
8" <uego se condensa la #ase de datos con el comando collapse, dejando s,lo una o#servaci,n
por olio?
collapse &sum( total &sum( mocupados &sum( mdesempleados &sum( minactivos
&sum( mcoti$ados1 b2&%olio(
9" <uego pegamos esta inormaci,n a la #ase de datos entrevistado (#ase principal de la
Encuesta de 1rotecci,n %ocial"?
sort %olio
merge %olio using 0 entrevistado.dta0
Una vez que a la #ase de datos principal de la E1%644; le hemos pegado la inormaci,n de meses
ocupados, cotizados, desempleados e inactivos provenientes de la #ase de historia la#oral podemos
calcular algunas estadsticas de inter.s!
3" Densidad de cotizaci,n por g.nero?
1rimero generamos los meses cotizados so#re el total de duraci,n de la historia la#oral?
g decot" mcoti$ados'total:,++
&am#i.n podemos generar los meses cotizados so#re los meses tra#ajados?
g pcotocu" mcoti$ados' mocupados:,++
T la proporci,n de la historia la#oral que tra#aja?
g pocu" mocupados' total:,++
# tabstat decot pocu pcotocu1 stats&mean( b2&a=(
a= G decot pocu pcotocu
-------F------------------------------
hombre G *@.=,-+> .@./+>.> .>.+@@..
mu4er G >-.@,/*A @@..=.>/ .+./==.>
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
81
-------F------------------------------
Hotal G @>.>.A*/ */.*->=* .-.,/=@@
--------------------------------------
<a densidad de cotizaci,n promedio entre hom#res ( mujeres diiere de manera importante,
mientras los hom#res cotizan en el sistema de pensiones un 98!5S del tiempo, las mujeres
lo hacen un 76!8S del tiempo! %in em#argo, dichas dierencias tienen una e$plicaci,n
relativamente clara, mientras los hom#res tra#ajan un :9S del tiempo, las mujeres s,lo lo
hacen un 88!5S del tiempo! T dentro del tiempo tra#ajando, los hom#res cotizan un :7S
del tiempo ( las mujeres un :3S, de esta orma lo que genera que la densidad de cotizaci,n
entre hom#res ( mujeres diiera se de#e principalmente a las dierencias en las tasas de
ocupaci,n!
6" 1articipaci,n la#oral por regi,n
g pdesem" mdesempleados' total:,++
g pinact"minactivos' total:,++
tabstat pocu pdesem pinact1 stats&mean( b2&region(
Summar2 statistics: mean
b2 categories o%: region &regi#n de residencia(
region G pocu pdesem pinact
-----------------F------------------------------
, regi#n G *=.>A*,. =.@+>-.> >>.->,*A
- regi#n G A+./*A=A *.>,@A., >>..-=@.
> regi#n G A,.A=>A/ =.,A>*-/ >+.,*-.=
@ regi#n G *A./=.,A ,,../,-* >,.--,*/
* regi#n G *..,-=+. ,,.,.@=- >,.A/.,,
A regi#n G **.**@=. ,+.,@,=. >@.>+>-*
. regi#n G *A.=,-** =..,,.@@ >@.@.*.,
= regi#n G *@.=-*/. =.=>=-+A >A.>>*=-
/ regi#n G **.>=@/A =.+==A.. >A.*-A>A
,+ regi#n G */.A=>>* ..++=+.A >>.>+=*.
,, regi#n G A>.>+-.- ,>.*/,.> ->.,+***
,- regi#n G A@.,>=/- ../*@,=- -../+A=/
r. metropolitana G A>.=-->A A.*@*--@ -/.A>-@-
,@ regi#n &de lo G */.+-*. >.-,,*.> >...A-.-
,* regi#n &arica G A+.=@A./ A.>+,==@ >-.=*,>>
-----------------F------------------------------
Hotal G */.*->=* =.,,*A/* >-.>A+@A
------------------------------------------------
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
82
7" Densidad de cotizaci,n por nivel educacional
gen teduc+/", i% a,-n""- G a,-n"", G a,-n""*
replace teduc+/"- i% &a,-n"">( G &a,-n""@ ? a,-c8=( G &a,-n""A ? a,-c"",( G
&a,-n""= ? a,-c"",(
replace teduc+/"> i% &a,-n""@ ? a,-c9"= ? a,-cI"//( G &a,-n""A ? a,-c""-( G
&a,-n""= ? a,-c""-(
replace teduc+/"@ i% &a,-n""A ? &a,-c9"> ? a,-c8"*(( G &a,-n"". ? a,-c8">(
G &a,-n""= ? &a,-c9"> ? a,-c8"*(( G &a,-n""/ ? a,-c8">(
replace teduc+/"* i% &a,-n"". ? a,-c9"@ ? a,-cI"//( G &a,-n""/ ? a,-c9"@ ?
a,-cI"//( G &a,-n""A ? a,-c9"A ? a,-cI"//( G &a,-n""= ? a,-c9"A ? a,-cI"//(
replace teduc+/"A i% &a,-n"",+ G a,-n"",,(
replace teduc+/". i% &a,-n"",- ? a,-c8*(
replace teduc+/"= i% &a,-n"",- ? a,-c9"* ? a,-cI"//( G &a,-n"",>(
label de%ine teduclbl , Ninguna - BasicaCnc > BasicaCom @ DediaCnc *
DediaCom A HecnicaSup . JnivCnc = JnivCom
label values teduc+/ teduclbl
label variable teduc+/ 0Nivel educacional 3KS+/0
tab teduc+/ a=1 summari$e&decot( means
Deans o% decot
Nivel G
educaciona G a=. sexo
l 3KS+A G hombre mu4er G Hotal
-----------F----------------------F----------
Ninguna G ,*.-,,./> >.>@=@/>/ G /.*>=+@,@
BasicaCnc G >-.A,=+,@ ,+.*-,,/ G -,.-@A,+A
BasicaCom G *>.A,@+- -@.,+-A/ G >/.-+==@A
DediaCnc G A+./A/>./ -@./,+/=/ G @>.*.,@/>
DediaCom G A/.**=>,, @@.=,+*@> G *A.*@/@*A
HecnicaSu G .-..+*A*- A,.A*=+@> G AA.*-A=.@
JnivCnc G A=.,.,,,. *..-.=@A* G A-./,A+>A
JnivCom G .+.*,./+. .,..@>A./ G .,.,*=@+,
-----------F----------------------F----------
Hotal G *@./>+A-/ >-.*-//>> G @>.@/=--A
I,. Crear "atrices para guardar los datos
Una orma pr)ctica de guardar la inormaci,n proveniente de la aplicaci,n del comando sum es a
trav.s de matrices! Cuando se hace un sum de una varia#le, en la memoria temporal del programa
quedan guardadas las estadsticasG el nom#re con el que cada una de .stas se guarda se puede sa#er
al tipear return list despu.s de hacer un sum!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
83
. sum esc
Lariable G Mbs Dean Std. Nev. Din Dax
-------------F--------------------------------------------------------
esc G ,=+/,@ =.>,/+A/ @.-=A==- + -,
. return list
scalars:
r&N( " ,=+/,@
r&sum_w( " ,=+/,@
r&mean( " =.>,/+A=.-=.==-A>
r&Lar( " ,=.>..>*>+.@,-A>=
r&sd( " @.-=A==,*+/-->/.
r&min( " +
r&max( " -,
r&sum( " ,*+*+>A
<o mismo se puede hacer despu.s de un sum, detail?
. sum esc1 detail
escolaridad &a5os(
-------------------------------------------------------------
Kercentiles Smallest
,E + +
*E + +
,+E - + Mbs ,=+/,@
-*E * + Sum o% 6gt. ,=+/,@
*+E = Dean =.>,/+A/
7argest Std. Nev. @.-=A==-
.*E ,- -,
/+E ,> -, Lariance ,=.>..>*
/*E ,* -, S)ewness -.,-=AA>-
//E ,. -, Ourtosis -.@+>+/,
. return list
scalars:
r&N( " ,=+/,@
r&sum_w( " ,=+/,@
r&mean( " =.>,/+A=.-=.==-A>
r&Lar( " ,=.>..>*>+.@,-A>=
r&sd( " @.-=A==,*+/-->/.
r&s)ewness( " -.,-=AA>,*/..--*+.
r&)urtosis( " -.@+>+/,-A,,-+=**
r&sum( " ,*+*+>A
r&min( " +
r&max( " -,
r&p,( " +
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
84
r&p*( " +
r&p,+( " -
r&p-*( " *
r&p*+( " =
r&p.*( " ,-
r&p/+( " ,>
r&p/*( " ,*
r&p//( " ,.
%up,ngase que se requiere hacer la siguiente ta#la de datos?
Penero Cngreso
promedio
3scolaridad
promedio
3xperiencia
laboral
promedio.
Qombre
Du4er
Esto puede hacerse generando una matriz de dos ilas ( tres columnas, para posteriormente
completar sus elementos con las estadsticas correspondientes! 1ara esto primero se de#e generar la
matriz, llam.mosla '!
matrix R"S&-1>1+(
<uego se hace el primer sum, de la varia#le ingreso para los hom#res, ( guardo este resultado en la
posici,n K3,3N de la matriz?
sum ingreso i% dhombre"",
matrix R;,1,<"r&mean(
T as sucesivamente hasta completar toda la matriz?
sum ingreso i% dhombre""+
matrix R;-1,<"r&mean(
sum esc i% dhombre"",
matrix R;,1-<"r&mean(
sum esc i% dhombre""+
matrix R;-1-<"r&mean(
sum expr i% dhombre"",
matrix R;,1><"r&mean(
sum expr i% dhombre""+
matrix R;-1><"r&mean(
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
85
Con esto se completa la matriz! <uego para que se vea, en %tata @esults se tipea el comando matriz
list?
. matrix list R
R;-1><
c, c- c>
r, -,+,/=.*@ =.>@-.-A@ *=.>>A.,=
r- ,A-A-/.,- =.-/*/./A A+.>=>>+/
Esta matriz se puede copiar, seleccionando la matriz en la ventana de resultados apretando el #ot,n
derecho ( pinchando =cop( ta#le>G luego se puede llevar a un archivo E$cel para su edici,n!
,. Ciclos recursivos
El comando while permite ejecutar una unci,n en orma recursiva mientras cierta condici,n se
cumpla! 1or ejemplo?
local i
while TiU8-- V
tab dhombre i% esc""TiU
local i"TiUF,
W
Este c,digo har) 63 ta#las, una para cada a+o de escolaridad, de la varia#le que identiica g.nero!
,I. 5r6'icos
En %&'&' se pueden realizar gr)icos de todos los tipos! Esto, al igual que otras unciones
preesta#lecidas, no requiere del conocimiento de todos los comandos, (a que pinchando =0raphics>
aparecen todas las opciones ( en cada una de ellas un cuadro de opciones #astante completo?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
86
78 T9o 9a) grap3
Estos tipos de gr)icos se utilizan para analizar la relaci,n que e$iste entre dos varia#les, por
ejemplo el siguiente gr)ico nos muestra c,mo ha cam#iado el crecimiento del 1ID de Chile entre
los a+os 3II4 ( 6436!
twoway (scatter cile a$o)

DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
87
0
5
1
0
1
5
C
h
i
l
e
1990 1995 2000 2005 2010
Ao
El comando para realizar un gr)ico de dos varia#les que muestre la relaci,n mediante puntos se
llama scatter, primero se introduce la varia#le del eje vertical ( luego la varia#le del eje
horizontal!
Este mismo gr)ico lo podemos realizar siguiendo la opci,n de las ventanas de gr)icos?
Un vez seleccionada la pesta+a de =&*o*a( graph> aparecer) la siguiente ventana donde de#emos
pinchar =CreateC>
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
88
'parecer) la siguiente ventana para crear el gr)ico de acuerdo a las opciones que escogamos! %i
seleccionamos =Dasic 1lots> el primero del listado es =scatter>, luego de#emos introducir la
varia#le correspondiente al eje vertical (T" ( la varia#le correspondiente al eje horizonal (_"?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
89
<uego, si aceptamos ( luego damos EW, nos aparecer) el mismo gr)ico anterior! &am#i.n
podemos elegir otros tipos de gr)icos para mostrar la misma relaci,n entre estas dos varia#les! 1or
ejemplo?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
90
0
5
1
0
1
5
C
h
i
l
e
1990 1995 2000 2005 2010
Ao
El comando para realizar el gr)ico anterior es?
twoway (connected cile a$o)
<uego podemos ocupar las distintas opciones de la ventana del gr)ico para cam#iar los colores,
marcadores, cam#iar los nom#res ( numeraci,n de los ejes, etc!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
91
Con estas opciones el mismo gr)ico quedara de la siguiente manera?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
92
0
5
1
0
1
5
C
h
i
l
e
1990 1995 2000 2005 2010
Ao
El comando para realizar el gr)ico anterior es?
twoway (connected cile a$o, mcolor(red) msymbol(triangle) lcolor(black))
&am#i.n podemos hacer un gr)ico de )rea?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
93
twowa2 &area chile a5o(
0
5
1
0
1
5
C
h
i
l
e
1990 1995 2000 2005 2010
Ao
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
94
Donde tam#i.n podemos elegir los colores del )rea ( ormato?
twowa2 &area chile a5o1 %color&lime( lcolor&blac)((
0
5
1
0
1
5
C
h
i
l
e
1990 1995 2000 2005 2010
Ao
T cam#iar la orientaci,n del gr)ico?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
95
twowa2 &area chile a5o1 %color&lime( lcolor&blac)( hori$ontal(
1
9
9
0
1
9
9
5
2
0
0
0
2
0
0
5
2
0
1
0
A

o
0 5 10 15
Chile
&am#i.n se puede realizar el mismo gr)ico anterior pero en ormato de #arras?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
96
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
97
twoway (bar cile a$o, fcolor(cranberry) lcolor(mint)), xlabel(1%%&(1)'&1',
labsize(vsmall))
0
5
1
0
1
5
C
h
i
l
e
1990 19911992 1993 1994 19951996 19971998 19992000 20012002 20032004 20052006 20072008 2009 2010 2011 2012
Ao
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
98
/inalmente, el mismo gr)ico lo podemos hacer en ormato =dropline>
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
99
twoway (dropline cile a$o, mcolor(black) msymbol(circle) lcolor(red)),
xlabel(1%%&(1)'&1', labsize(vsmall))
0
5
1
0
1
5
C
h
i
l
e
1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
Ao
Ejercicio?
'#ra la #ase de datos pco#re!dta! Ud! Dispone de datos del precio del co#re desde Enero de
3I5: a Marzo de 6437!
0enere una varia#le llamada =echa> a trav.s del siguiente comando de stata?
g %echa"2m&a5o1mes(
%ormat %echa Etm
@ealice un gr)ico que muestre la evoluci,n del precio del co#re a trav.s de un gr)ico de
dos sentido que conecte los puntos de o#servaci,n! Elija los colores de su preerencia,
ponga ttulo al gr)ico ( una nota que diga que la uente es el Danco Central!
'hora realice un gr)ico de )rea pero solo utilizando las o#servaciones del a+o 6449 en
adelante! 2uevamente edite el gr)ico con sus colores, ttulos, ( notas!
@ealice un gr)ico de #arras que muestre la evoluci,n del precio del co#re
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
100
:8 Bar C3art
El gr)ico de #arras de %&'&' nos permite resumir de manera gr)ica ( comparativa estadsticas
descriptivas, como la media, mediana, entre otras de una o m)s varia#les de inter.s!
1or ejemplo, utilizando la misma #ase de datos del precio del co#re podemos hacer un gr)ico que
muestre el precio promedio ( mediano para las distintas d.cadas!
1rimero vamos a generar la varia#le d.cada?
g decada", i% a5o8,//+
replace decada"- i% a5o9",//+ ? a5o8-+++
replace decada"> i% a5o9"-+++ ? a5o8-+,+
replace decada"@ i% a5o9"-+,+
label de%ine decada , 0=+0 - 0/+0 > 0++0 @ 0,+0
label values decada decada
'hora vamos a las opciones de gr)ico ( escogemos =gr)ico de #arras>?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
101
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
102
El gr)ico resultante es el siguiente?
graph bar &mean( pcobre &median( pcobre1 over&decada(
0
1
0
0
2
0
0
3
0
0
4
0
0
80 90 00 10
mean of pcobre p 50 of pcobre
'l igual que antes podemos editar los colores del gr)ico, poner un ttulo e incluso cam#iar la
le(enda!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
103
E#teniendo el siguiente gr)ico?
graph bar &mean( pcobre &median( pcobre1 over&decada( bar&,1
%color&purple(( bar&-1 %color&cranberr2((
0
1
0
0
2
0
0
3
0
0
4
0
0
80 90 00 10
mean of pcobre p 50 of pcobre
1odemos cam#iar la le(enda de la siguiente manera?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
104
El gr)ico resultante es el siguiente?
graph bar &mean( pcobre &median( pcobre1 over&decada( bar&,1
%color&purple(( bar&-1 %color&cranberr2(( legend&order&, 0Kromedio0 -
0Dediana0((
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
105
/inalmente, podemos tam#i.n poner los valores correspondientes a cada una de las #arras?
's, el gr)ico queda de la siguiente manera?
graph bar &mean( pcobre &median( pcobre1 over&decada( bar&,1
%color&purple(( bar&-1 %color&cranberr2(( blabel&bar( legend&order&,
0Kromedio0 - 0Dediana0((
109.133 110.8
100.863 101.3
177.9
142.15
366.89 364.8
0
1
0
0
2
0
0
3
0
0
4
0
0
80 90 00 10
Promedio Mediana
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
106
Ejercicio?
Utilizando la #ase de datos e$teps4I realice un gr)ico de #arras donde cada una de las
#arras represente el ingreso mensual promedio de cada a+o de escolaridad (4 a 63"!
<uego haga el mismo gr)ico pero separando las #arras por hom#re ( mujer
;8 <istogra"
Un histograma es un tipo de gr)ico que nos permite caracterizar como de distri#u(e la muestra o
po#laci,n de datos en los valores que puede tomar la varia#le! 1ara hacer un histograma de#emos
elegir la opci,n =Ristogram> de los gr)icos!
Donde nos aparecer) la siguiente ventana?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
107
'qu de#emos introducir la varia#le so#re la cu)l queremos construir el histograma, indicar si la
varia#le es continua o discreta, que queremos que muestre en el eje vertical (densidad, racci,n,
recuencia o porcentaje" entre otras opciones! 1or ejemplo, a continuaci,n se presenta el histograma
del precio del co#re?
histogram pcobre1 percent
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
108
0
5
1
0
1
5
2
0
2
5
P
e
r
c
e
n

100 200 300 400 500


pcobre
'l igual que en los gr)icos anteriores podemos modiicar el graico con las opciones de colores (
ttulos!
histogram pcobre1 percent %color&2ellow( lcolor&blac)( lwidth&medium(
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
109
0
5
1
0
1
5
2
0
2
5
P
e
r
c
e
n

100 200 300 400 500


pcobre
1ara poner ttulo al gr)ico, cam#iar el nom#re de los ejes ( poner un nota de#emos hacer lo
siguiente?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
110
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
111
0
5
1
0
1
5
2
0
2
5
P
o
r
c
e
n

a
!
e
100 200 300 400 500
Precio del Cobre
"#ene$ %anco Cenral de Chile
&i'rib#ci(n del precio del cobre
Ejercicio? utilizando la #ase de datos e$teps4I!dta realice un histograma de la varia#le edad! Edite
el gr)ico con ttulos ( sus preerencias, ( adhiera una lnea de distri#uci,n normal!
,II. A)uda+ <elp
<a a(uda que trae este programa es #astante amiga#le ( )cil de utilizar! %i Ud! %e dirige a =Relp>
se despliega un cuadro con dierentes opciones, puede #uscar a(uda por contenidos, por comandos,
etcC, en =`hatas ne*> encontrar) todas las novedades del programa, que nuevos comandos ha( (
podr) descargarlos haciendo un update!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
112
1or ejemplo, supongamos se quiere sa#er como calcular correlaci,n entre varia#les! Entonces se
de#e #uscar en =%earch>?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
113
Dependiendo que este #uscando pincha el comando (en azul", ( se a#rir) una ventana con una
completa a(uda so#re el comando!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
114
1ara que el Relp de %&'&' le sea realmente -til es undamental que Ud! aprenda a leer la sinta$is
de cada comando! 1or ejemplo, en este caso la sinta$is del comando correlate es la siguiente?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
115
correlate KvarlistN KiN KinN K*eightN K, correlateHoptionsN
Esta sinta$is nos indica que el commando correlate puede ser utilizado entregando el listado de
varia#les, sino se entrega el deault es considerar todas las varia#les en la #ase de datos! %e puede
utilizar la opci,n i, in ( *eight todas ellas antes de la coma, la que es utilizada tam#i.n en orma
opcional para poner algunas opciones del comando! Entonces siempre lo que aparece en par.ntesis
cuadrados son alternativas opcionales del comando! M)s adelante de la sinta$is, se indican cuales
son estas =correlateHoptions>, tam#i.n se presenta una descripci,n general del comando ( sus
opciones!
' continuaci,n se muestra otro ejemplo de sinta$is, para el comando ta#le?
ta#le ro*var Kcolvar KsupercolvarNN KiN KinN K*eightN K, optionsN
@ecordemos que todo lo que esta entre par.ntesis cuadrado son opciones voluntarias de comando!
En este caso ro*var no esta entre par.ntesis cuadrado, signiica que de#emos o#ligadamente se+alar
la varia#le ila en la ta#ulaci,n, es voluntario indicar la varia#le de columna, si no se indica la
ta#ulaci,n resultante es una distri#uci,n de la varia#le sola, si se indica colvar la ta#la ser) un cruce
entre ro*var ( colvar! Este ejemplo nos permite notar la dierencia en aquellos insumos del
comando que son o#ligatorios de los que son voluntarios!
1uede ser que algunos de los comandos que aparezcan Ud! no los tenga cargados, en este caso si se
encuentra conectado a Internet los podr) #ajar online! 'parecer) algo de la siguiente orma?
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
116
Donde pinchando la pala#ra en azul se puede descargar el comando, as como su a(uda!
Una orma m)s completa de #uscar a(uda es a trav.s de los manuales, estos adem)s de traer una
a(uda so#re los comandos generalmente contiene toda una descripci,n te,rica de ellos! 1or
ejemplo, en el caso de un modelo de regresi,n lineal, e$plica lo que es una modelo de este tipo!
'dem)s el manual de gr)icos es mu( -til, (a que trae m-ltiples ejemplos que se pueden adecuar a
los que uno anda #uscando!
En esta parte veremos un ejemplo como el visto en la parte 7 ( luego con la misma #ase de datos
realizaremos varios tipos o ormas de gr)icos!
DEPARTAMENTO DE ECONOMA UNIVERSIDAD DE CHILE
117

Potrebbero piacerti anche