Esta
nota contiene una descripción de los datos utilizados en el análisis de la
“Cruzada Nacional contra el ¿Hambre?” publicado en este blog el pasado 19 de febrero.
Las fuentes son públicas y están disponibles vía internet e incluyen al Consejo
Nacional de Evaluación de la Política Social (CONEVAL), el decreto presidencial
que contiene a los 400 municipios incluidos en la primera etapa de la Cruzada, al
Programa de Naciones Unidas para el Desarrollo en México (PNUD), y al Instituto
Federal Electoral (IFE).
La
nota está organizada en dos partes y tiene como base código del programa Stata
(do file) que se utilizó para el análisis. En la primera sección se describe qué
datos originales fueron utilizados y cómo se construyó la base de datos final.
La segunda parte describe los comandos utilizados para estimar las
correlaciones mostradas en la última tabla del post. Con esta información el
lector puede replicar las estimaciones hechas por el autor. Cualquier duda,
aclaración o comentario, favor de dirigirlo a evaluacruzadahambre@yahoo.com
*************************
***
SECCION UNO ***
*************************
clear
*** Análisis de
la ”Cruzada contra el Hambre"
Febrero, 2013
***************************
*** Datos generales ***
***************************
set more off
cap log close
local path
"/Users/data/analysis/"
cd
"`path'"
log using
cruzada_pobreza.txt, text replace
*******************************
*** Datos del CONEVAL ***
*******************************
***
Estos datos fueron obtenidos de la página del Consejo Nacional de Evaluación de
la Política Social (CONEVAL) dentro de la sección “Medición de pobreza 2010 por municipio. Porcentaje de la
población en situación de pobreza
por municipio, México, 2010” dentro de Análisis y
Medición de la Pobreza. Debe ir a la sección del Anexo Estadístico.
***
La página utilizada es http://web.coneval.gob.mx/Medicion/Paginas/Medición/Anexo-estad%C3%ADstico-municipal-2010.aspx
***
Una vez obtenida la base se eliminaron los filtros incluidos en la base
original y se cambiaron los títulos de las variables con objeto de poder
transformarlos a formato Stata. La base limpia fue guardada con terminación
.CSV para poder se leída en Stata. En este caso se guardó con el nombre
“coneval.csv” y se utilizaron los siguientes comandos.
clear
insheet
using "`path'coneval.csv", comma clear n
gen
str9 municipio=string(cve_mun,"%05.0f")
gen
str9 edo=string(ent,"%02.0f")
drop
cve_mun
destring
population pobreza_personas pobextrema_personas pobmoder_personas
no_pobres_personas carencia_alimentos_personas pob_lin_bien_personas
pob_lin_bien_min_personas,replace
order
edo municipio
gen
ln_pop=log( population)
gen
ln_pobreza=log( pobreza_personas)
gen
ln_pob_ext=log( pobextrema_personas)
save
"`path'coneval.dta", replace
************************************************************************
*** Municipios de la Cruzada
Nacional Contra el Hambre ***
************************************************************************
***
Para construir la base de datos de los 400 municipios incluidos en la
“Cruzada”, se utilizó el “Anexo A” del decreto, mismo que puede ser obtenido en
la siguiente dirección. http://dof.gob.mx/nota_detalle.php?codigo=5285363&fecha=22/01/2013&print=true
***
La tabla d el “Anexo A” se guardó a formato CSV con el nombre “hambre.csv. Para
convertirla a formato Stata se utilizaron los siguientes comandos.
clear
insheet
using "`path'hambre.csv", comma clear n
gen
str9 municipio2=string(municipio,"%05.0f")
drop
municipio
drop
in 1
rename
municipio2 municipio
save
"`path'hambre.dta", replace
***************************************************************************
*** Datos del Índice de
Desarrollo Humano y PIB per cápita ***
***************************************************************************
***
Para construir la base de datos del índice de desarrollo humano de los
municipios en México se utilizaron datos del Programa de Naciones Unidas para
el Desarrollo en México. Los datos pueden ser obtenidos en la siguiente
dirección. http://www.undp.org.mx/desarrollohumano/disco/index.html
***
Los datos se convirtieron a formato CSV y se guardó con el nombre
“base_gdp_pc.csv”. Para convertirla a formato Stata se utilizaron los
siguientes comandos.
clear
insheet
using "`path'base_gdp_pc.csv", comma clear n
destring
idh por_pob_edo log_pop log_hombres log_muj log_ingpc, replace
gen
str9 municipio=string(cve_mun,"%05.0f")
save
"`path'base_gdp_pc.dta", replace
*****************************
*** Datos Electorales ***
****************************
***
Para construir la base de datos electorales se utilizaron los resultados
publicados por el Instituto Federal Electoral, dentro de Estadísticas y
Resultados Electorales. Se utilizaron los cómputos distritales originales,
mismos que se pueden consultar en http://www.ife.org.mx/portal/site/ifev2/Estadisticas_y_Resultados_Electorales/
***
Se utilizaron únicamente los resultados de la elección presidencial.
***
Los datos se convirtieron a formato CSV y se guardó con el nombre
“presidente_2012.csv”. Para convertirla a formato Stata y obtener los datos a
nivel municipal se utilizaron los
siguientes comandos.
insheet
using "`path'presidente_2012.csv", comma clear n
replace
pri=0 if pri==.
replace
prd=0 if prd==.
replace
pri_pvem=0 if pri_pvem==.
replace
prd_pt_mc=0 if prd_pt_mc==.
replace
prd_pt=0 if prd_pt==.
replace
prd_mc=0 if prd_mc==.
replace
pt_mc=0 if pt_mc==.
replace
lista_nominal=0 if lista_nominal==.
replace
votos_reservados=0 if votos_reservados==.
gen
pri_t=pri +pvem +pri_pvem
gen
prd_t= prd+ pt+ mc+ prd_pt_mc+ prd_pt+ prd_mc+ pt_mc
order
id_estado d_distrito id_municipio
gen
str9 edo=string(id_estado,"%02.0f")
gen
str9 mun=string(id_municipio,"%03.0f")
egen
municipio=concat(edo mun)
order
edo mun municipio
drop
if mun=="."
drop
id_estado id_municipio
collapse
(sum) lista_nominal_casilla num_votos_nulos num_votos_can_nreg
numero_votos_validos total_votos boletas_inutilizadas pan pri prd pvem pt mc
panal pri_pvem prd_pt_mc prd_pt prd_mc pt_mc lista_nominal votos_reservados
pri_t prd_t, by (municipio)
save
"`path'presidente_mun_2012.dta", replace
********************************************************************************************************
*** Creación de la base de datos
de la “Cruzada”, datos del CONEVAL, PNUD e IFE ***
********************************************************************************************************
***
Una vez obtenidos los datos originales se procedió a unir todos los datos para
crear una sola base y a partir de ella conocer la correlación de la “Cruzada”
con las variables políticas. Los comandos de Stata utilizados fueron los
siguientes
***
Paso 1.
Iniciamos utilizando los datos de CONEVAL
clear
use
"`path'coneval.dta", clear
***
Paso 2.
Se pegaron los datos de la “Cruzada”
merge
1:1 municipio using hambre
rename
_merge mergehambre
*
Dado que aquellos municipios no incluidos en la base de la cruzada tienen
valores nulos, se procedió a poner valor cero. Esto quiere decir que no fueron
seleccionados dentro de los 400 iniciales.
replace
hambre=0 if hambre==.
***
Paso 3. Se pegaron los datos del PNUD
merge
1:1 municipio using base_gdp_pc
rename
_merge merge_idh
***
Paso 4.
Se pegaron los datos electorales del IFE
merge
1:1 municipio using presidente_mun_2012
***
Paso 5.
Se crearon variables adicionales incluidas en el análisis
**
Paso 5.1
Variable indicativa de la capital del estado.
gen
capital=0
replace
capital=1 if municipio=="03003" | municipio=="06002"|
municipio=="08019"| municipio=="11015"|
municipio=="13048"| municipio=="16053"|
municipio=="18017"| municipio=="23005"| municipio=="26030"|
municipio=="28038"| municipio=="29033"|
municipio=="32056"
*
Para el DF se tomaron todas las delegaciones como capital
replace
capital=1 if edo=="09"
**
Paso 5.2 Variables para clasificar a los
municipios de acuerdo el tamaño de la población.
gen
mun_50m=0
gen
mun_50_100m=0
gen
mun_100_250m=0
gen
mun_250_500m=0
gen
mun_more_500m=0
replace
mun_50m=1 if population<50000 o:p="">50000>
replace
mun_50_100m =1 if population>50000 & population<100000 o:p="">100000>
replace
mun_100_250m =1 if population>100000 & population<250000 o:p="">250000>
replace
mun_250_500m =1 if population>250000 & population<500000 o:p="">500000>
replace
mun_more_500m=1 if population>500000
gen
type_mun=0
replace
type_mun=1 if mun_50_100m==1
replace
type_mun=2 if mun_100_250m ==1
replace
type_mun=3 if mun_250_500m ==1
replace
type_mun=4 if mun_more_500m ==1
**
Paso 5.3 Variable
para cada entidad federativa
tab
entidad, g(st_)
**
Paso 5.4
Se construyeron variables de participación política que se tuvieron en la
elección presidencial de 2012.
gen
part= numero_votos_validos/ lista_nominal_casilla
egen
ganador=rowmax( por_pri por_prd por_pan por_panal)
**
Paso 5.5
Variable indicativas de elección en 2013. Se creó una variable dummy que indica
en qué estados se llvaran a cabo elecciones locales durante 2013.
gen
elec_loc_2013=0
gen
elec_gob_2013=0
replace
elec_loc_2013=1 if ent==1 | ent==2 | ent==5 | ent==8 | ent==10 | ent==20 |ent==21
| ent==23 | ent==25 |ent==28 | ent==29 | ent==30 | ent==32
replace
elec_gob_2013=1 if ent==2
save
"`path'cruzada.dta", replace
***********************************************************************************
*** SECCION DOS. Correlación de “Cruzada” y
variables Políticas ***
**********************************************************************************
***
La base de datos construida con datos OFICIALES y PUBLICOS se utilizaron para
estimar las siguientes ecuaciones
*** Todos los municipios
reg
hambre ln_pop ln_pob_ext capital idh elec_loc_2013 part mun_50m mun_50_100m
mun_100_250m mun_250_500m mun_more_500m, r cluster(ent)
outreg
using hambre.txt, se bd(5) br replace
*** Todos los municipios con efectos fijos por
Estado
reg
hambre ln_pop ln_pob_ext capital idh elec_loc_2013 part mun_50m mun_50_100m
mun_100_250m mun_250_500m mun_more_500m st_*, r cluster(ent)
outreg
using hambre.txt, se bd(5) br append
*** Municipios con más de 100 mil habitantes
reg
hambre ln_pop ln_pob_ext capital idh elec_loc_2013 part mun_100_250m
mun_250_500m mun_more_500m if
population>100000, r cluster(ent)
outreg
using hambre.txt, se bd(5) br append
*** Municipios con más de 100 mil habitantes con
efectos fijos por estado
reg
hambre ln_pop ln_pob_ext capital idh elec_loc_2013 part mun_100_250m
mun_250_500m mun_more_500m st_* if population>100000, r cluster(ent)
outreg
using hambre.txt, se bd(5) br append
*** Otro modelo no incluido en el análisis. Se
pueden incluir otros más pero se busco mantener el análisis más sencillo para
la comprensión de más lectores.
probit
hambre ln_pop ln_pob_ext capital idh elec_loc_2013 part mun_50m mun_50_100m
mun_100_250m mun_250_500m mun_more_500m, r cluster(ent)
outreg
using hambre.txt, se bd(5) br append
probit
hambre ln_pop ln_pob_ext capital idh elec_loc_2013 part mun_50m mun_50_100m
mun_100_250m mun_250_500m mun_more_500m st_*, r cluster(ent)
outreg
using hambre.txt, se bd(5) br append