Está en la página 1de 46

Stata

Review: Muestra el historial de los comandos ejecutados

Variables: expone las variables (dataset)

Resultados: resultado de los comandos ejecutados

Comands: ¿qué hacer?

- Base de Datos es necesario

Base de datos del disco duro: (sysuse auto)


Type (en Variables)

Float: números con decimales

Str18: texto

Int: Números (Datos)

Describe:

Cuando utilizamos una base de datos q no está en el disco duro utilizo use

Comandos:

Summarize: resume todas las variables


Summarize Price (solo una variable q me especifique)

Con el condicional if puede restringirse para un grupo específico:

Summarize weight if Price>4500


Condicionales:

De comparación: igual (==) ; ! =no igual <.>

Lógicos: & “y” ; | “o” ; ! “no”

EJ: summarize length if price > 4500 & (length < 160 | weight >3000)

-Después de ejecutar le damos return list es decir guarda información en la memoria interna
-Para ordenar le damos sort según la variable que le indiquemos
Para ordenar de maneda descendiente colocamos gsort –weight
-Para generar una nueva variable se utiliza generate y reemplaza el valor de una variable se utiliza
replace
Ó

Replace var1=Price*2
-El valor nulo no es cero, significa que no hay datos pero no puede ser 0

Generate nullval=.
También se pueden generar valores a partir de datos almacenados luego de ejecutar un comando:

Sum weight

Gen weigth_prom=weight/r(mean)
-Tambien se puede reemplazar el valor de una variable para un rango determinado:

Replace var1=8000 if Price<8000

-Los comandos se pueden ejecutar según alguna categoría que clasifique a los registros:

Segmentar los datos (tab foreing)

Sort foreign

By foreign: summarize price


Para tener ayuda de stata me puedo ir a help

-Es indispensable tener ordenado el dataser antes de operar

-Para eliminar variable u observaciones del dataset se utiliza el comando drop

Drop if Price<3300

Drop turn
-tabulate:

Permite tabular la información de una variable según los distintos valores que toma. Ej, nacional –
extranjera

Tabulate foreign

Para combinar dos se utiliza tabulate foreign headroom:


-un comando con el que se puede tener un resumen de estadísticas descriptivas mas amplio es:

Se utiliza coma cuando se utiliza un opción

Tabstat

Tabstat Price, statistics( mean sum count max min range sd variance cv p10 median p90
ARCHIVOS

.do: se utiliza para trabajar archivos docx en secuencia (textos planos que tienen muchas líneas)
en el caso de stata guarda la parte de review

.log: almacena los resultados en el caso de stata guarda las operaciones

-archivo de texto plano:


-Comentario:

Ejecutemos las siguientes líneas en do file.

*Introduccion a STATA – DESARROLLO ECONOMICO


Cd: para guardar siempre en la carpeta

Cd: Users\10121227\Desktop\desarrollo 1.do (no estoy segura de este)

-Archivos en log.

Cada vez que ejecutamos el do file creara el archivo .log para que eso no suceda especificamos
text replace
-La base de datos en formatos de STATA es .dta.

-Cuando no se tienen las bases en formato .dta, se pueden importar y transformar a ese formato.

-Por ejemplo si tenemos una base de datos en formato .sav, la convertimos a .txt con ese formato
ejecutamos la sentencia:

insheet using base.txt (para importar datos)

MACROS LOCALES

Una macro local asigna un valor constante (puede ser texto o numero) a lo largo de una secuencia
de comandos o en un programa. Las macro locales se borran cuando se deja de correr la secuencia
de comandos (a veces es más útil el uso de escalares)

Ejemplo en texto:

Local curso=”desarrollo económico”

Display ”’curso’”

Ejemplo Numérico:

Sysuse auto

Sum Price

Local media_p=r(mean)

Gen Price2=Price/’media’
26 de octubre de 2015

Abrimos stata, le colocamos set mem 1g y después ya abrimos la base en abrir y la abrimos y ya
nos salen los datos:
Ipcf: ingreso per cápita familiar

Ponderador (w): fex_dpto_c

S (estadísticos a estimar)

tabstat ipcf [w= fex_dpto_c], s(mean min max range p25 p50 p75 p99 iqr sd cv) format
sort ciudad

by ciudad: tabstat ipcf [w=fex_dpto_c], s(mean min max range p25 p50 p75 p99 iqr sd cv)
histogram ipcf [w=fex_dpto_c]
histogram ipcf if ipcf<40000000 [w=fex_dpto_c]--- para saber cuantos ganan ese valor
histogram ipcf if ipcf<5000000 [w=fex_dpto_c]
gen lipcf=ln(ipcf)

histogram lipcf [w=fex_dpto_c]


histogram lipcf [w=fex_dpto_c], by(ciudad)--- muestra por ciudad
tabsat ilaboral if oc==1 [w=fex_dpto_c], s(mean min max range p25 p50 p75 p99 iqr sd cv) format
****Resumen estadistico de la variable IPCF

tabstat ipcf [w= fex_dpto_c], s(mean min max range p25 p50 p75 p99 iqr sd cv) format

sort ciudad

by ciudad: tabstat ipcf [w=fex_dpto_c], s(mean min max range p25 p50 p75 p99 iqr sd cv)

histogram ipcf [w=fex_dpto_c]

histogram ipcf if ipcf<40000000 [w=fex_dpto_c]


histogram ipcf if ipcf<5000000 [w=fex_dpto_c]

gen lipcf=ln(ipcf)

histogram lipcf [w=fex_dpto_c]

histogram lipcf [w=fex_dpto_c], by(ciudad)

****Resumen estadistico para el ingreso laboral

tabstat ilaboral if oc==1 [w= fex_dpto_c], s(mean min max range p25 p50 p75 p99 iqr sd cv)
format

sort ciudad

by ciudad: tabstat ilaboral [w=fex_dpto_c], s(mean min max range p25 p50 p75 p99 iqr sd cv)

histogram ilaboral [w=fex_dpto_c]

histogram ilaboral if ilaboral<4000000 [w=fex_dpto_c]

histogram ilaboral if ilaboral<5000000 [w=fex_dpto_c]

gen lilaboral=ln(ipcf)

histogram lilaboral if oc==1 [w=fex_dpto_c]

histogram lilaboral if oc==1 [w=fex_dpto_c], by(ciudad)

****Resumen estadistico para nivel educativo

sort educativo_nivel ciudad

by educativo_nivel: tabstat ilaboral if oc==1 & educativo_nivel>2 [w=fex_dpto_c], s(mean min max
range///

p25 p50 p75 p99 iqr sd cv) format

by educativo_nivel ciudad:tabstat ilaboral if oc==1 & educativo_nivel>2 [w=fex_dpto_c], s(mean


min range///

p25 p50 p75 p99 iqr sd cv) format

histogram lilaboral if oc==1 & educativo_nivel>2 [w=fex_dpto_c], by (educativo_nivel)


local ppdecil = sumpop[_N]/10----ultimo valor de la base y esa macro va hacer el 10% de la
población
****Resumen estadistico de la variable IPCF

tabstat ipcf [w= fex_dpto_c], s(mean min max range p25 p50 p75 p99 iqr sd cv) format

sort ciudad

by ciudad: tabstat ipcf [w=fex_dpto_c], s(mean min max range p25 p50 p75 p99 iqr sd cv)

histogram ipcf [w=fex_dpto_c]

histogram ipcf if ipcf<40000000 [w=fex_dpto_c]

histogram ipcf if ipcf<5000000 [w=fex_dpto_c]

gen lipcf=ln(ipcf)

histogram lipcf [w=fex_dpto_c]

histogram lipcf [w=fex_dpto_c], by(ciudad)

****Resumen estadistico para el ingreso laboral

tabstat ilaboral if oc==1 [w= fex_dpto_c], s(mean min max range p25 p50 p75 p99 iqr sd cv)
format

sort ciudad

by ciudad: tabstat ilaboral [w=fex_dpto_c], s(mean min max range p25 p50 p75 p99 iqr sd cv)

histogram ilaboral [w=fex_dpto_c]

histogram ilaboral if ilaboral<4000000 [w=fex_dpto_c]

histogram ilaboral if ilaboral<5000000 [w=fex_dpto_c]


gen lilaboral=ln(ipcf)

histogram lilaboral if oc==1 [w=fex_dpto_c]

histogram lilaboral if oc==1 [w=fex_dpto_c], by(ciudad)

****Resumen estadistico para nivel educativo

sort educativo_nivel ciudad

by educativo_nivel: tabstat ilaboral if oc==1 & educativo_nivel>2 [w=fex_dpto_c], s(mean min max
range///

p25 p50 p75 p99 iqr sd cv) format

by educativo_nivel ciudad:tabstat ilaboral if oc==1 & educativo_nivel>2 [w=fex_dpto_c], s(mean


min range///

p25 p50 p75 p99 iqr sd cv) format

histogram lilaboral if oc==1 & educativo_nivel>2 [w=fex_dpto_c], by (educativo_nivel)

****Analisis distributivo por deciles de ingreso

**Agrupar por Rangos decilicos de Ingreso IPCF

sort ipcf

drop if ipcf==.

gen sumpop = sum(fex_dpto_c)

format sumpop %12.0g

*se generan los deciles con la misma cantidad de individuos ponderados

gen decil=.

local ppdecil = sumpop[_N]/10

replace decil=1 if sumpop > 0 & sumpop <= 'ppdecil'

replace decil=2 if sumpop > 'ppdecil' & sumpop <= 'ppdecil'*2

replace decil=3 if sumpop > 'ppdecil'*2 & sumpop <= 'ppdecil'*3

replace decil=4 if sumpop > 'ppdecil'*3 & sumpop <= 'ppdecil'*4

replace decil=5 if sumpop > 'ppdecil'*4 & sumpop <= 'ppdecil'*5

replace decil=6 if sumpop > 'ppdecil'*5 & sumpop <= 'ppdecil'*6

replace decil=7 if sumpop > 'ppdecil'*6 & sumpop <= 'ppdecil'*7

replace decil=8 if sumpop > 'ppdecil'*7 & sumpop <= 'ppdecil'*8

replace decil=9 if sumpop > 'ppdecil'*8 & sumpop <= 'ppdecil'*9


replace decil=10 if sumpop > 'ppdecil'*9 & sumpop <= 'ppdecil'*10

09 de noviembre de 2015

Sumpop: 68 es el ponderador, el primer registro

gen partpobla=sumpop/sumpop (_N) ---- es la participación porcentual

*Curva de Lorenz

drop if ipcf==0

sort ipcf

gen partpobla=sumpop/sumpop[_N]

gen partingreso=sum(fex_dpto_c*ipcf)

replace partingreso=partingreso/partingreso[_N]

sort partingreso

twoway (line partingreso partpobla) (line partingreso partingreso), title("Curva de Lorenz") ///

legend(off) xtitle(participacion poblacion) ytitle(participacion ingreso)

------TWOWAY es para graficar


A la derecha… esa distribución es más…

Cuando se cruzan no dice nada

*Curva de Lorenz para las tres ciudades

sort ciudad ipcf

drop if ipcf==
by ciudad: gen partpobla2=sum(fex_dpto_c)

by ciudad: replace partpobla2=partpobla2/partpobla2[_N]

by ciudad: gen

partingreso2=sum(fex_dpto_c*ipcf)

by cuidad: replace partingreso2=partingreso2/partingreso2[_N]

twoway (line partingreso2 partpobla2 if ciudad==5) (line partingreso2 partingreso2 if


ciudad==11) ///

(line partingreso2 part

SEGÚN FOTO DE LA DIAPOSITIVA SE HACE ESTO:

*Coeficiente de Gini (USAR PONDERADORES)

sort ipcf

egen i=seq()

drop if ipcf==0

sort ipcf

sum ipcf if ipcf>0

local obs=r(sum_w)

local media=r(mean)
display `obs'

display `media'

sort ipcf

gen sumatoria=(ipcf)*(`obs'+1-i)

format sumatoria %15.0f

sum sumatoria

local sumatoria=r(sum)

display %21.0f `sumatoria'

local gini=(1)+(1/`obs')-(2/(`media'* `obs'^2)) * (`sumatoria')

display "gini=`gini'"
--para guardar base es preserve

Y si elimino algo después de guardarla y si quiero volver le doy restore

FINAL CLASE

*Curva de Lorenz

drop if ipcf==0

sort ipcf
gen partpobla=sumpop/sumpop[_N]

gen partingreso=sum(fex_dpto_c*ipcf)

replace partingreso=partingreso/partingreso[_N]

sort partingreso

twoway (line partingreso partpobla) (line partingreso partingreso), title("Curva de Lorenz") ///

legend(off) xtitle(participacion poblacion) ytitle(participacion ingreso)

*Curva de Lorenz para las tres ciudades

sort ciudad ipcf

drop if ipcf==

by ciudad: gen partpobla2=sum(fex_dpto_c)

by ciudad: replace partpobla2=partpobla2/partpobla2[_N]

by ciudad: gen

partingreso2=sum(fex_dpto_c*ipcf)

by cuidad: replace partingreso2=partingreso2/partingreso2[_N]

twoway (line partingreso2 partpobla2 if ciudad==5) (line partingreso2 partingreso2 if


ciudad==11) ///

(line partingreso2 part

title("Curva de Lorenz") ///

legend(off) xtitle(participacion poblacion) ytitle(participacion ingreso)

*Coeficiente de Gini

sort ipcf

egen i=seq()

drop if ipcf==0

sort ipcf

sum ipcf if ipcf>0

local obs=r(sum_w)

local media=r(mean)
display `obs'

display `media'

sort ipcf

gen sumatoria=(ipcf)*(`obs'+1-i)

format sumatoria %15.0f

sum sumatoria

local sumatoria=r(sum)

display %21.0f `sumatoria'

local gini=(1)+(1/`obs')-(2/(`media'* `obs'^2)) * (`sumatoria')

display "gini=`gini'"

Curva de Lorenz

También podría gustarte