introducción a stata - rlabuonora74.files.wordpress.com · tema 3 gráficos los gráficos son un...
TRANSCRIPT
TEMA 3
Gráficos
Los gráficos son un herramienta que nos permite
visualizar rápidamente información compleja
Histogramas
Sirven para ver la distribución de una variable
. use "U:\curso stata\hamilton\Nations2.dta", clear
. hist adfert, percent
05
10
15
20
25
Pe
rc
en
t
0 50 100 150 200
Adolescent fertility: births/1000 fem 15-19, 2010
Más del 25% de los países de la muestra tiene
menos de 15 embarazos adolescentes cada 1000
habitantes
La distribución es asimétrica
Opciones para mostrar más
información
Width(10): El ancho de las divisiones del recorrido
Xlabel(0 (20) (200)) Etiquetas de valores de X, de
0 a 200 en saltos de a 20
Xtick (10 (10) 210) de 10 a 210 con saltos de a 10
grid grilla para los valores de la g
¿Cómo pongo una para las x?
By
Igual que las tablas, los gráficos pueden usarse con
by(var)
. historgram adfert, percent start(0) width(10)
by(region total)
0
10
20
30
40
0
10
20
30
40
0 50 100 150 200 0 50 100 150 200 0 50 100 150 200
Africa Americas Asia
Europe Oceania Total
Pe
rc
en
t
Adolescent fertility: births/1000 fem 15-19, 2010
Graphs by Region
Diagramas de caja
También sirven para graficar la distribución de una
variable, pero resaltan más los outliers0
50
10
01
50
20
0
Ad
ole
sc
en
t fe
rti
lity
: b
irth
s/1
00
0 f
em
15
-1
9,
20
10
La caja es el rango intercuartílico (incluye el 50%
de las observaciones).
La barra adentro de la caja es la mediana
Los bigotes son 1.5 +- Q1 y Q3
Opciones
Le ponemos etiquetas a los outliers para
identificarlos mejor
. graph box adfert, marker(1, mlabel(country))
1 es la variable y a la que nos referimos, en este
caso hay una sola pero podrían ser más:
. graph box adfert, marker(1, mlabel(country))
ytitle(“Nacimientos cada 1,000 mujeres 15-19")
Chad
Angola
Mali
Congo (Dem Rep)
Niger
0
50
10
01
50
20
0
Ad
ole
sc
en
t fe
rti
lity
: b
irth
s/1
00
0 f
em
15
-1
9,
20
10
Usando over (by)
. graph box adfert, marker(1, mlabel(country))
over(region)
Iraq
Nepal
Afghanistan
Bulgaria
Angola
0
50
10
01
50
20
0
Ad
ole
sc
en
t fe
rti
lity
: b
irth
s/1
00
0 f
em
15
-1
9,
20
10
Africa Americas Asia Europe Oceania
Gráficos de barra
Usamos los datos de Nations2.dta para hacer un
gráfico de barras con el PIB (gdp) promedio y
mediano por región
Para mejorar la legibilidad, tomamos el PIB en
miles
. use C:\data\Nations2.dta, clear
. generate gdp1000 = gdp/1000
. summarize gdp gdp1000
Comando
. graph bar (mean) gdp1000 (median) gdp1000, over(region) ///
ytitle("PIB Per capita, en miles de dolares 2005") ///
blabel(bar, format(%3.1f)) bar(1, color(blue)) bar(2, color(orange)) ///
legend(ring(0) position(11) col(2) label(1 "Media") ///
label(2 "Mediana"))
Opciones
graph bar es el nombre del comando
(mean) gdp1000 (median) gdp1000 son los
estadísticos que quiero graficar
blabel es la etiqueta de las barras
bar le dice que la etiqueta es la altura de la barra
format es formato del número (3 caracteres con 1 dps
de la coma
bar (1, color(blue)) nos permite especificar
propiedades de la barras por separado
3.7
1.3
10.6
7.9
13.7
4.8
23.5
21.9
8.1
4.0
05
10
15
20
25
PIB
Pe
r c
ap
ita
, e
n m
ile
s d
e d
ola
re
s 2
00
5
Africa Americas Asia Europe Oceania
Media Mediana
Ejercicio
Graficar la cantidad de habitantes por región
946.6905.0
4031.4
734.2
52.0
0
1,0
00
2,0
00
3,0
00
4,0
00
Ha
bit
an
tes
po
r r
eg
ión
(e
n m
illo
ne
s)
Africa Americas Asia Europe Oceania
Gráficos de Torta
Sirven para graficar participaciones
Con el mismo dataset, graficamos la proporción de
habitantes de cada zona
. graph pie popmil, over(region) pie(2, explode) ///
plabel(_all sum, format(%4.0f)) ///
title(“Población mundial por región") ///
legend(col(1) position(9))
947
905
4031
734
52
Africa
Americas
Asia
Europe
Oceania
Población mundial por región
Scatterplots
Ya vimos algunos, sirven para analizar la relación
entre dos (o más) variables
. graph twoway scatter life school
50
60
70
80
90
Lif
e e
xp
ec
tan
cy
at
bir
th 2
00
5/2
01
0
2 4 6 8 10 12
Mean years schooling (adults) 2005/2010
Scatter con categorías
Podemos cambiar el color del punto con una
variable categórica
Generamos una variable categórica para lós
países europeos
. g euro=region==4
Y hacemos dos gráficos superpuestos
. graph twoway scatter life school if euro, msymbol(Oh) ///
|| scatter life school if !euro, msymbol(Th) ///
|| , ylabel(45(5)85) xlabel(2(2)12) xtick(1(2)13) ///
legend(col(1) ring(0) position(6))
Podemos cambiar el color y la forma de los puntos
. graph twoway scatter life school, msymbol(S)
mcolor(purple)
Overlay
Si le queremos agregar la línea de regresión entre
las dos variables tenemos que superponer dos
gráficos (con ||)
. graph twoway scatter life school, msymbol(Oh) ///
|| lfit life school, lwidth(medthick) ///
|| , ylabel(45(5)85) xlabel(2(2)12) xtick(1(2)13 ///
legend(col(1) ring(0) position(11))
lfit dibuja la línea de regresión entre life y school
lwidth es el ancho de la línea
legend da las opciones de la leyenda
ring(0) pone el cuadro adentro del área del gráfico
col(1) hace una sola columna con los dos ítems (uno por
overlay)
position(11) poner la el centro de la leyenda a las 11
hs
45
50
55
60
65
70
75
80
85
2 4 6 8 10 12
Mean years schooling (adults) 2005/2010
Life expectancy at birth 2005/2010
Fitted values
Con intervalos de confianza
. graph twoway lfitci life school, lwidth(medthick) ///
|| scatter life school, msymbol(Th) ///
|| scatter life school if school > 8 & life < 55, msymbol(S) mlabel(country) ///
|| , ylabel(45(5)85) xlabel(2(2)12) xtick(1(2)13) ///
legend(col(1) ring(0) position(11) label(3 "Life expectancy") ///
order(3 2 1))
Varios gráficos superpuestos
1 y 2– Interavalo de cfz y línea
3 – scatter de puntos
4- scatter de puntos para outliers
label(3, “life expectancy) es la etiqueta para la
leyenda del 3er gráfico
Weights
Otro recurso interesante es escalar el tamaño de los
símbolos con otra variable
. graph twoway scatter life school [fweight=pop],
msymbol(Oh)
symbol(Oh) es un círculo sin relleno, fweight=pop
especifica que el tamaño del símbolo es
proporcional a la población
Scatterplot con ponderaciones
50
60
70
80
90
Lif
e e
xp
ec
tan
cy
at
bir
th 2
00
5/2
01
0
2 4 6 8 10 12
Mean years schooling (adults) 2005/2010
Multiscatter
Scatter plots de varias variables a la vez
. graph matrix gdp school adfert chldmort life, half
msymbol(oh)Gross
domestic
product per
cap 2005$,
2006/2009
Mean years
schooling
(adults)
2005/2010
Adolescent
fertility:
births/1000
fem 15-19,
2010
Prob dying
before age
5/1000 live
births
2005/2009
Life
expectancy
at birth
2005/2010
0 50000 100000
0
5
10
15
0 5 10 15
0
100
200
0 100 200
0
100
200
0 100 200
40
60
80
Gráficos de línea
Sirven para graficar series de tiempo
Son gráficos de puntos que conectan los puntos con
una línea
Los datos en Artic09 tienen mediciones de
temperatura y volúmen de hielo en el mar ártico
. graph twoway line area year, ///
title("Arctic sea ice, September 1979-2011")3
45
6
Se
a i
ce
are
a,
mil
lio
n k
m^
2
1980 1990 2000 2010
Year
Arctic sea ice, September 1979-2011
. graph twoway line area extent year, xlabel(1980(5)2010) xtitle("") ///
lwidth(medium medthick) lpattern(solid dash) ///
legend(row(2) ring(0) position(9) ///
label(1 "Area") label(2 "Extent") order(2 1)) ///
ylabel(0(1)8, grid gmin gmax) ytitle("Millionkm{superscript:2}") ///
title("Arctic sea ice, September1979`=char(150)'2011")
01
23
45
67
8
Mil
lio
n k
m
2
1980 1985 1990 1995 2000 2005 2010
Extent
Area
Arctic sea ice, September 1979–2011
Ajustar un polinomio
. graph twoway connect volume year, ylabel(0(2)16) yline(0) ///
ytitle("Volume, thousand km`=char(179)'") ///
|| qfit volume year, lwidth(medthick) ///
, xlabel(1980(5)2010) xtitle("") ///
title("Arctic sea ice, September 1979`=char(150)'2011") ///
legend(row(2) ring(0) position(6) ///
label(1 "Volume") label(2 "quadratic fit") order(1 2))
El ajuste del polinomio permite captar la
aceleración de la caída en el volumen de hielo0
24
68
10
12
14
16
Vo
lum
e,
tho
us
an
d k
m³
1980 1985 1990 1995 2000 2005 2010
Volume
quadratic fit
Arctic sea ice, September 1979–2011
Gráfico de área
. graph twoway rarea volumehi volumelo year, color(gs13) ///
|| line volume year, lwidth(thick) lcolor(green) ///
|| , ylabel(0(2)18) yline(0) ///
ytitle("Volume, thousand km`=char(179)'") ///
title("Arctic sea ice, September 1979`=char(150)'2011") ///
legend(row(2) ring(0) position(7) ///
label(1 "uncertainty") label(2 "Volume") order(2 1)) ///
Barras para medir incertidumbre
. graph twoway bar volume year, color(gs10) ///
|| rspike volumehi volumelo year, lwidth(medthick) ///
|| , ytitle("Volume, thousand km`=char(179)'") ///
title("Arctic sea ice, September 1979`=char(150)'2011") ///
legend(row(2) ring(0) position(7) ///
label(1 "Volume") label(2 "uncertainty"))
05
10
15
20
Vo
lum
e,
tho
us
an
d k
m³
1980 1990 2000 2010
Year
Volume
uncertainty
Arctic sea ice, September 1979–2011
El orden importa!
Probar cambiar el orden de los overlays
El último comando se dibuja arriba de los
anteriores, si no tenemos cuidado con esto algunos
elementos del gráfico pueden no ser visibles
Editor de gráficos
Me permite cambiar la mayor parte de los
elementos del gráfico en forma visual
En la ventana del gráfico, start graph editor
El soporte en Stata 11 es limitado
Salvar y Usar gráficos
El formato nativo de los gráficos de stata es .gph
Si salvamos un archivo en este formato, lo podemos
cargar y editarlo en el editor de gráficos
Si los voy a poner en un documento o en una
presentación, hay que exportarlo como una imágen
(png, wmf, etc.)
Combianar varios gráficos en un panel
Para combinar varios gráficos, los salvamos en
formato gph y los cargo
Después usamos graph combine
. graph combine ///
C:\graphs\uno.gph ///
C:\graphs\dos.gph ///
C:\graphs\tres.gph , rows(2) altshrink ///
title("Panel de Graficos", size(medium))
02
46
8
10
12
14
16
Vo
lum
e,
tho
us
an
d k
m³
1980 1985 1990 1995 2000 2005 2010
Volume
quadratic fit
Arctic sea ice, September 1979–2011
02
46
8
10
12
14
16
18
Vo
lum
e,
tho
us
an
d k
m³
1980 1990 2000 2010
Year
Volume
uncertainty
Arctic sea ice, September 1979–2011
05
10
15
20
Vo
lum
e,
tho
us
an
d k
m³
1980 1990 2000 2010
Year
Volume
uncertainty
Arctic sea ice, September 1979–2011
Panel de Graficos
Ejercicio 1
Descargar la serie de IPC y el dólar del sitio del
INE
Manipular los datos y graficar ambas series en un
solo gráfico
0
50
10
01
50
01jan2000 01jan2005 01jan2010 01jan2015
Dolar
IPC
Ejercicio 2
Usando Precios.dta
Diagrama de cajas con el precio la Coca Cola con
la ciudad como etiqueta de los puntos el último día
de diciembre
Sin Ciudad
60
65
70
75
Pr
ec
io
Disco Devoto El Dorado Tienda Inglesa
Precio Coca-Cola 1.5Lts
Con Ciudad
MontevideoCiudad de la CostaMontevideoMontevideoMontevideoCanelones
Atlántida
Punta del EstePunta del Este Punta del EstePiriápolis
Río BrancoTreinta y TresTreinta y TresLascanoMeloTreinta y Tres
PiriápolisPunta del EsteBarra de MaldonadoMaldonadoPiriápolisBalneario SolísPunta del Este
Atlántida
Punta del Este
60
65
70
75
Pr
ec
io
Disco Devoto El Dorado Tienda Inglesa
Precio Coca-Cola 1.5Lts
Ejercicio 3
Multiscatter de vinos y cervezas
Son los productos 31 32 33 146 147 y 148
Cerveza
Patricia
Cerveza
Pilsen
Cerveza
Zillertal
Vino
Faisan
Vino
Santa
Teresa
Vino
Tango
60 70 80 90
50
60
70
80
50 60 70 80
70
80
90
70 80 90
50
60
70
80
50 60 70 80
60
70
80
60 70 80
50
60
70
Ejercicio 4
Hacer un scatter entre los precios de las dos marcas
de Coca Cola 1.5 lts contra Pepsi 1.5 lts (Productos
63 y 67) en las que el tamaño de los puntos sea la
cantidad de cajas del super.
R2
: 0.5029
45
50
55
60
65
70
75
80
85
Co
ca
-C
ola
1.5
Lts
45 50 55 60 65 70 75 80 85
Pepsi-Cola 1.5 Lts
Valores Ajustados
Relacion entre precios de las gaseosas