rm(list = ls())
Diferencias en Diferencias
Maestría en Economía Uninorte
Introducción
Vamos a trabajar con la base de datos:
Fuente Original Shinsuke Tanaka (2014)
Donde intentaba responder: Does Abolishing User Fees Lead to Improved Health Status? Evidence from Post-Apartheid South Africa”.
Se encuentra en American Economics Journal: Economic Policy, 6(3), pages 282-312
Los datos los puede encontrar en datos
Preambulo
El método de Diferencias en Diferencias (DID) es una técnica econométrica ampliamente utilizada para evaluar el impacto causal de políticas públicas, programas o intervenciones que se implementan en ciertas unidades (como individuos, empresas, regiones, etc.) pero no en otras. Este método se basa en comparar la evolución de un resultado de interés entre un grupo tratado (que recibe la intervención) y un grupo de control (que no la recibe) antes y después del tratamiento.
El enfoque DID asume que, en ausencia del tratamiento, la diferencia en las tendencias del resultado entre los grupos tratado y de control habría permanecido constante. De esta manera, cualquier desviación de esta tendencia paralela se atribuye al efecto causal del tratamiento.
En economía, el método de Diferencias en Diferencias es particularmente útil cuando los experimentos aleatorios no son factibles o éticos, y permite controlar por factores no observados que podrían influir en los resultados, siempre que estos factores sean constantes en el tiempo. Esta técnica ha sido utilizada en estudios que analizan desde el impacto de cambios en las políticas fiscales y laborales hasta los efectos de programas educativos y de salud, convirtiéndose en una herramienta clave para el análisis de políticas públicas.
Preparación
Antes de implementar el código de estimación, es crucial preparar la base de datos asegurando que las variables relevantes estén correctamente definidas y limpiadas. Esto implica verificar que las variables de tratamiento y resultado estén codificadas adecuadamente, que las covariables no presenten valores faltantes, y que los pesos muestrales, si son aplicables, estén correctamente asignados. Además, es esencial que los datos estén en el formato adecuado para ser utilizados en los modelos estadísticos, lo que incluye transformar variables según sea necesario y asegurarse de que todas las observaciones relevantes sean incluidas en el análisis.
Limpiar el entorno de R
Estipulación de la base
Vamos a cargar los paquetes a utilizar en esta ocasión
library(pacman)
p_load(dplyr, lmtest, sandwich, plm, fixest, haven)
El paso a seguir es cargar la base de datos (formato stata) a R.
<- read_dta("health.dta") datos
Resumen estadistico
En las posibilidades siempre es bueno mirar que contiene y dicen nuestros datos, para ello no queda demas ir mirando primero que etiquetas traen consigo
glimpse(datos)
Rows: 1,071
Columns: 26
$ hhid93 <dbl> 590020, 590100, 590100, 590110, 590070, 590090, 590090, 59…
$ pcode <dbl> 41, 41, 9, 40, 5, 44, 45, 43, 40, 9, 9, 4, 6, 5, 3, 42, 41…
$ idcommunity <dbl> 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 70, 70, 70…
$ year <dbl> 98, 98, 93, 98, 93, 98, 98, 98, 98, 93, 93, 93, 93, 93, 93…
$ hightreat <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0…
$ post <dbl> 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1…
$ postXhigh <dbl> 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ waz <dbl> 0.73, 0.64, -0.17, 0.59, -0.62, 3.48, 1.67, 1.08, 0.30, 2.…
$ whz <dbl> 1.18, 2.72, -0.44, 4.62, 0.74, 6.02, 4.59, 0.93, 1.37, 2.1…
$ haz <dbl> -0.22, -2.60, -0.04, -5.68, -2.06, -1.36, -2.76, 0.98, -1.…
$ fedu <dbl> 0, 0, 0, 0, 0, 0, 0, 9, 10, 8, 10, 0, 0, 2, 0, 5, 0, 0, 0,…
$ medu <dbl> 7, 0, 10, 7, 6, 10, 8, 0, 0, 6, 0, 6, 2, 4, 4, 0, 7, 2, 0,…
$ hhsizep <dbl> 6, 7, 9, 6, 5, 16, 16, 16, 10, 9, 9, 5, 6, 5, 3, 4, 7, 4, …
$ lntotminc <dbl> 8.558975, 7.699238, 7.939818, 7.711250, 4.941642, 8.782922…
$ immuniz <dbl> 2, 2, 0, 2, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1…
$ nonclinic <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ male <dbl> 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1…
$ age <dbl> 3.1068494, 3.0191782, 0.0000000, 3.0876713, 1.5000000, 1.0…
$ age93_0 <dbl> 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0…
$ age93_1 <dbl> 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ age93_2 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ age93_3 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0…
$ age98_0 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ age98_1 <dbl> 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ age98_2 <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1…
$ age98_3 <dbl> 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0…
Etiqueta de variables
Las etiquedas de las variables a utilizar son:
Variable | Value | Variable label |
---|---|---|
hhid93 | Household identification No | |
pcode | 93: Person Code | |
idcommunity | Identifier for community | |
year | = 93 or 98 | |
hightreat | = 1 if community has clinic in 1993 | |
post | = 1 if year==98 and =0 if year==93 | |
postXhigh | post times hightreat | |
waz | Weight for age z Score | |
whz | Weight for height z Score | |
haz | Height for age z Score | |
fedu | Father’s education | |
medu | Mother’s education | |
hhsizep | Household size (all members) | |
lntotminc | Log of monthly household income | |
immuniz | yes_no | Number of immunization campaigns since 1993 |
nonclinic | Number of health facilities other than clinic in 1993 | |
male | = 1 if male | |
age | Precise age in fractions of year | |
age93_0 | =1 if age 0 in 1993 | |
age93_1 | =1 if age 1 in 1993 | |
age93_2 | =1 if age 2 in 1993 | |
age93_3 | =1 if age 3 in 1993 | |
age98_0 | =1 if age 0 in 1998 | |
age98_1 | =1 if age 1 in 1998 | |
age98_2 | =1 if age 2 in 1998 | |
age98_3 | =1 if age 3 in 1998 |
Las etiquetas deben ser definidas por los creadores de la base de datos. Ayudan sobre todo como un diccionario cuando los nombres de columnas son extraños
Luego de esto entonce si hacemos una descripción muy rapida de las estadísticas mas importantes de los datos. Siempre le piden a los investigadores establecer una tabla o descriptores para ello
summary(datos)
hhid93 pcode idcommunity year
Min. : 590010 Min. : 2.00 Min. : 59.0 Min. :93.00
1st Qu.:2050180 1st Qu.: 9.00 1st Qu.:205.0 1st Qu.:93.00
Median :2230180 Median :16.00 Median :223.0 Median :93.00
Mean :2066044 Mean :24.51 Mean :206.6 Mean :95.33
3rd Qu.:2340490 3rd Qu.:41.00 3rd Qu.:234.0 3rd Qu.:98.00
Max. :2440170 Max. :57.00 Max. :244.0 Max. :98.00
hightreat post postXhigh waz
Min. :0.0000 Min. :0.0000 Min. :0.0000 Min. :-5.8800
1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:-1.2600
Median :0.0000 Median :0.0000 Median :0.0000 Median :-0.2400
Mean :0.4276 Mean :0.4669 Mean :0.1979 Mean :-0.2059
3rd Qu.:1.0000 3rd Qu.:1.0000 3rd Qu.:0.0000 3rd Qu.: 0.7600
Max. :1.0000 Max. :1.0000 Max. :1.0000 Max. : 4.9400
whz haz fedu medu
Min. :-9.890 Min. :-9.9800 Min. : 0.000 Min. : 0.000
1st Qu.:-0.480 1st Qu.:-2.0650 1st Qu.: 0.000 1st Qu.: 1.000
Median : 0.480 Median :-0.9900 Median : 0.000 Median : 5.000
Mean : 0.639 Mean :-0.9498 Mean : 1.758 Mean : 4.728
3rd Qu.: 1.385 3rd Qu.: 0.0750 3rd Qu.: 3.000 3rd Qu.: 8.000
Max. : 9.990 Max. : 9.9900 Max. :12.000 Max. :14.000
hhsizep lntotminc immuniz nonclinic
Min. : 2.00 Min. :3.549 Min. :0.0000 Min. :0.0000
1st Qu.: 8.00 1st Qu.:6.179 1st Qu.:0.0000 1st Qu.:0.0000
Median :10.00 Median :6.854 Median :0.0000 Median :0.0000
Mean :11.17 Mean :6.829 Mean :0.4911 Mean :0.1204
3rd Qu.:14.00 3rd Qu.:7.470 3rd Qu.:1.0000 3rd Qu.:0.0000
Max. :34.00 Max. :9.846 Max. :2.0000 Max. :3.0000
male age age93_0 age93_1
Min. :0.0000 Min. :0.000 Min. :0.0000 Min. :0.0000
1st Qu.:0.0000 1st Qu.:1.232 1st Qu.:0.0000 1st Qu.:0.0000
Median :1.0000 Median :2.167 Median :0.0000 Median :0.0000
Mean :0.5145 Mean :2.146 Mean :0.1083 Mean :0.1382
3rd Qu.:1.0000 3rd Qu.:3.083 3rd Qu.:0.0000 3rd Qu.:0.0000
Max. :1.0000 Max. :3.992 Max. :1.0000 Max. :1.0000
age93_2 age93_3 age98_0 age98_1
Min. :0.0000 Min. :0.0000 Min. :0.00000 Min. :0.0000
1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:0.00000 1st Qu.:0.0000
Median :0.0000 Median :0.0000 Median :0.00000 Median :0.0000
Mean :0.1401 Mean :0.1466 Mean :0.06162 Mean :0.1307
3rd Qu.:0.0000 3rd Qu.:0.0000 3rd Qu.:0.00000 3rd Qu.:0.0000
Max. :1.0000 Max. :1.0000 Max. :1.00000 Max. :1.0000
age98_2 age98_3
Min. :0.0000 Min. :0.0000
1st Qu.:0.0000 1st Qu.:0.0000
Median :0.0000 Median :0.0000
Mean :0.1447 Mean :0.1298
3rd Qu.:0.0000 3rd Qu.:0.0000
Max. :1.0000 Max. :1.0000
Selección clave
Vamos a intentar solo mirar un grupo de variables, no todas las que tenemos o buscamos tener en nuestro cuestionario se hacen necesarias
Subgrupo
Entonces hacemos una selección mas acorde
%>%
datos select(idcommunity, year, hightreat, post, postXhigh, waz, whz,
%>%
fedu, medu, hhsizep, lntotminc, immuniz, nonclinic, age) glimpse()
Rows: 1,071
Columns: 14
$ idcommunity <dbl> 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 70, 70, 70…
$ year <dbl> 98, 98, 93, 98, 93, 98, 98, 98, 98, 93, 93, 93, 93, 93, 93…
$ hightreat <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0…
$ post <dbl> 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1…
$ postXhigh <dbl> 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ waz <dbl> 0.73, 0.64, -0.17, 0.59, -0.62, 3.48, 1.67, 1.08, 0.30, 2.…
$ whz <dbl> 1.18, 2.72, -0.44, 4.62, 0.74, 6.02, 4.59, 0.93, 1.37, 2.1…
$ fedu <dbl> 0, 0, 0, 0, 0, 0, 0, 9, 10, 8, 10, 0, 0, 2, 0, 5, 0, 0, 0,…
$ medu <dbl> 7, 0, 10, 7, 6, 10, 8, 0, 0, 6, 0, 6, 2, 4, 4, 0, 7, 2, 0,…
$ hhsizep <dbl> 6, 7, 9, 6, 5, 16, 16, 16, 10, 9, 9, 5, 6, 5, 3, 4, 7, 4, …
$ lntotminc <dbl> 8.558975, 7.699238, 7.939818, 7.711250, 4.941642, 8.782922…
$ immuniz <dbl> 2, 2, 0, 2, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1…
$ nonclinic <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…
$ age <dbl> 3.1068494, 3.0191782, 0.0000000, 3.0876713, 1.5000000, 1.0…
Estadisticas de ellas
%>%
datos select(idcommunity, year, hightreat, post, postXhigh, waz, whz,
%>%
fedu, medu, hhsizep, lntotminc, immuniz, nonclinic, age) summary()
idcommunity year hightreat post
Min. : 59.0 Min. :93.00 Min. :0.0000 Min. :0.0000
1st Qu.:205.0 1st Qu.:93.00 1st Qu.:0.0000 1st Qu.:0.0000
Median :223.0 Median :93.00 Median :0.0000 Median :0.0000
Mean :206.6 Mean :95.33 Mean :0.4276 Mean :0.4669
3rd Qu.:234.0 3rd Qu.:98.00 3rd Qu.:1.0000 3rd Qu.:1.0000
Max. :244.0 Max. :98.00 Max. :1.0000 Max. :1.0000
postXhigh waz whz fedu
Min. :0.0000 Min. :-5.8800 Min. :-9.890 Min. : 0.000
1st Qu.:0.0000 1st Qu.:-1.2600 1st Qu.:-0.480 1st Qu.: 0.000
Median :0.0000 Median :-0.2400 Median : 0.480 Median : 0.000
Mean :0.1979 Mean :-0.2059 Mean : 0.639 Mean : 1.758
3rd Qu.:0.0000 3rd Qu.: 0.7600 3rd Qu.: 1.385 3rd Qu.: 3.000
Max. :1.0000 Max. : 4.9400 Max. : 9.990 Max. :12.000
medu hhsizep lntotminc immuniz
Min. : 0.000 Min. : 2.00 Min. :3.549 Min. :0.0000
1st Qu.: 1.000 1st Qu.: 8.00 1st Qu.:6.179 1st Qu.:0.0000
Median : 5.000 Median :10.00 Median :6.854 Median :0.0000
Mean : 4.728 Mean :11.17 Mean :6.829 Mean :0.4911
3rd Qu.: 8.000 3rd Qu.:14.00 3rd Qu.:7.470 3rd Qu.:1.0000
Max. :14.000 Max. :34.00 Max. :9.846 Max. :2.0000
nonclinic age
Min. :0.0000 Min. :0.000
1st Qu.:0.0000 1st Qu.:1.232
Median :0.0000 Median :2.167
Mean :0.1204 Mean :2.146
3rd Qu.:0.0000 3rd Qu.:3.083
Max. :3.0000 Max. :3.992
Mas integrado
%>%
datos select(waz, hightreat, post, postXhigh, whz) %>%
summary()
waz hightreat post postXhigh
Min. :-5.8800 Min. :0.0000 Min. :0.0000 Min. :0.0000
1st Qu.:-1.2600 1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:0.0000
Median :-0.2400 Median :0.0000 Median :0.0000 Median :0.0000
Mean :-0.2059 Mean :0.4276 Mean :0.4669 Mean :0.1979
3rd Qu.: 0.7600 3rd Qu.:1.0000 3rd Qu.:1.0000 3rd Qu.:0.0000
Max. : 4.9400 Max. :1.0000 Max. :1.0000 Max. :1.0000
whz
Min. :-9.890
1st Qu.:-0.480
Median : 0.480
Mean : 0.639
3rd Qu.: 1.385
Max. : 9.990
Diferencias en diferencias
<- mean(datos$waz[datos$hightreat == 1 & datos$post == 0], na.rm = TRUE)
highpre <- mean(datos$waz[datos$hightreat == 1 & datos$post == 1], na.rm = TRUE)
highpost <- mean(datos$waz[datos$hightreat == 0 & datos$post == 0], na.rm = TRUE)
lowpre <- mean(datos$waz[datos$hightreat == 0 & datos$post == 1], na.rm = TRUE)
lowpost
<- highpost - highpre
highdiff <- lowpost - lowpre
lowdiff <- highdiff - lowdiff
diffindiff
cat("highpre =", highpre, "\n")
highpre = -0.5452439
cat("highpost =", highpost, "\n")
highpost = 0.3214623
cat("highdiff =", highdiff, "\n")
highdiff = 0.8667062
cat("lowpre =", lowpre, "\n")
lowpre = -0.4141846
cat("lowpost =", lowpost, "\n")
lowpost = -0.06909722
cat("lowdiff =", lowdiff, "\n")
lowdiff = 0.3450874
cat("diffindiff =", diffindiff, "\n")
diffindiff = 0.5216188
Modelo básico
<- lm(waz ~ postXhigh + post + hightreat, data = datos)
model1 coeftest(model1, vcov = vcovCL, cluster = ~idcommunity)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.41418 0.11514 -3.5972 0.0003365 ***
postXhigh 0.52162 0.23530 2.2168 0.0268447 *
post 0.34509 0.13710 2.5170 0.0119810 *
hightreat -0.13106 0.19681 -0.6659 0.5056042
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Con errores robustos teniendo en cuenta (sandwich)
Vamos a corregir cualquier problema que tengamos de heterocedasticidad
coeftest(model1, vcov = vcovHC)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.414185 0.089296 -4.6383 3.947e-06 ***
postXhigh 0.521619 0.194367 2.6837 0.007394 **
post 0.345087 0.119508 2.8876 0.003961 **
hightreat -0.131059 0.141503 -0.9262 0.354553
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Panel de efectos fijos para los estimadores
library(plm)
<- pdata.frame(datos, index = "idcommunity")
data <- plm(waz ~ postXhigh + fedu + medu + hhsizep + lntotminc +
model2 + nonclinic + age,
immuniz data = data, model = "within")
coeftest(model2, vcov = vcovHC)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
postXhigh 0.5928787 0.2617621 2.2650 0.023727 *
fedu 0.0162111 0.0192902 0.8404 0.400892
medu -0.0132234 0.0161086 -0.8209 0.411902
hhsizep -0.0132916 0.0097736 -1.3600 0.174149
lntotminc 0.1639018 0.0575006 2.8504 0.004455 **
immuniz 0.3736352 0.1337079 2.7944 0.005298 **
nonclinic -0.2870186 0.2149046 -1.3356 0.181993
age -0.2990284 0.0503068 -5.9441 3.825e-09 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Panel clusterizando
<- lm(waz ~ postXhigh + post + hightreat + factor(idcommunity) +
model3 + medu + hhsizep + lntotminc + immuniz + nonclinic,
fedu data = data)
coeftest(model3, vcov = vcovCL, cluster = ~idcommunity)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.1556821 0.3758822 -3.0746 0.0021646 **
postXhigh 0.6428807 0.2710993 2.3714 0.0179085 *
post -0.6807024 0.3487963 -1.9516 0.0512650 .
hightreat -0.2911247 0.2360665 -1.2332 0.2177766
factor(idcommunity)70 0.2874699 0.1059799 2.7125 0.0067915 **
factor(idcommunity)71 0.3978011 0.2405300 1.6539 0.0984686 .
factor(idcommunity)74 -3.1731808 0.1166530 -27.2019 < 2.2e-16 ***
factor(idcommunity)77 2.5975713 0.3122377 8.3192 2.848e-16 ***
factor(idcommunity)78 0.2160735 0.1957466 1.1038 0.2699246
factor(idcommunity)79 -0.2080409 0.1632130 -1.2747 0.2027236
factor(idcommunity)80 0.0015226 0.1824792 0.0083 0.9933440
factor(idcommunity)193 -0.7950822 0.1792359 -4.4360 1.017e-05 ***
factor(idcommunity)195 0.0453894 0.1675401 0.2709 0.7865105
factor(idcommunity)196 -0.9717183 0.0706266 -13.7585 < 2.2e-16 ***
factor(idcommunity)197 -0.8237864 0.0896107 -9.1929 < 2.2e-16 ***
factor(idcommunity)198 0.8921643 0.1704257 5.2349 2.008e-07 ***
factor(idcommunity)200 -0.6562065 0.0982740 -6.6773 4.012e-11 ***
factor(idcommunity)201 -0.3800693 0.1669547 -2.2765 0.0230260 *
factor(idcommunity)202 0.9205801 0.0688437 13.3720 < 2.2e-16 ***
factor(idcommunity)203 -0.3039892 0.1881209 -1.6159 0.1064233
factor(idcommunity)204 1.0905652 0.1989837 5.4807 5.352e-08 ***
factor(idcommunity)205 -0.3395986 0.0450451 -7.5391 1.052e-13 ***
factor(idcommunity)207 -0.5735619 0.0972512 -5.8977 5.024e-09 ***
factor(idcommunity)208 -0.5948834 0.0680983 -8.7357 < 2.2e-16 ***
factor(idcommunity)209 -0.7984668 0.1692709 -4.7171 2.729e-06 ***
factor(idcommunity)211 -0.3430600 0.0527260 -6.5065 1.209e-10 ***
factor(idcommunity)212 0.5319096 0.1698343 3.1319 0.0017866 **
factor(idcommunity)213 0.6043919 0.1773504 3.4079 0.0006805 ***
factor(idcommunity)214 -1.1321145 0.1796709 -6.3010 4.409e-10 ***
factor(idcommunity)215 -0.9287727 0.1992899 -4.6604 3.578e-06 ***
factor(idcommunity)216 -0.3785829 0.0481564 -7.8615 9.705e-15 ***
factor(idcommunity)219 -0.4933115 0.0428510 -11.5123 < 2.2e-16 ***
factor(idcommunity)220 -0.8763232 0.0644265 -13.6019 < 2.2e-16 ***
factor(idcommunity)221 0.3858579 0.0626663 6.1573 1.066e-09 ***
factor(idcommunity)222 -0.0569208 0.0597721 -0.9523 0.3411746
factor(idcommunity)223 0.3442531 0.0522848 6.5842 7.344e-11 ***
factor(idcommunity)224 0.2853282 0.0671984 4.2461 2.376e-05 ***
factor(idcommunity)225 0.9483909 0.1937935 4.8938 1.151e-06 ***
factor(idcommunity)226 0.3390337 0.0257013 13.1913 < 2.2e-16 ***
factor(idcommunity)227 -0.2704414 0.0310442 -8.7115 < 2.2e-16 ***
factor(idcommunity)228 0.3580386 0.0666659 5.3706 9.739e-08 ***
factor(idcommunity)229 -0.1044712 0.0258367 -4.0435 5.666e-05 ***
factor(idcommunity)230 0.5981681 0.0507661 11.7828 < 2.2e-16 ***
factor(idcommunity)231 0.1134669 0.1770680 0.6408 0.5217917
factor(idcommunity)232 -0.4382279 0.0495389 -8.8461 < 2.2e-16 ***
factor(idcommunity)233 -0.0842228 0.1881413 -0.4477 0.6544966
factor(idcommunity)234 0.0044622 0.0955814 0.0467 0.9627734
factor(idcommunity)235 -0.6604078 0.1664768 -3.9670 7.794e-05 ***
factor(idcommunity)236 0.0432934 0.0454000 0.9536 0.3405147
factor(idcommunity)237 -0.2455141 0.2527029 -0.9716 0.3315061
factor(idcommunity)238 0.5534780 0.1704869 3.2465 0.0012070 **
factor(idcommunity)239 -0.0976976 0.0579561 -1.6857 0.0921593 .
factor(idcommunity)240 0.2763189 0.0323151 8.5508 < 2.2e-16 ***
factor(idcommunity)241 -0.1351925 0.2011154 -0.6722 0.5016015
factor(idcommunity)243 1.1656190 0.2680290 4.3489 1.507e-05 ***
factor(idcommunity)244 -0.3208512 0.2078204 -1.5439 0.1229294
fedu 0.0106712 0.0202978 0.5257 0.5991891
medu -0.0048958 0.0161178 -0.3037 0.7613812
hhsizep -0.0104237 0.0104451 -0.9980 0.3185423
lntotminc 0.1489382 0.0571007 2.6083 0.0092326 **
immuniz 0.9473233 0.2799104 3.3844 0.0007408 ***
nonclinic -0.3344670 0.1738546 -1.9238 0.0546568 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Mismo resultado pero extrayendo post y hightreat
<- lm(waz ~ postXhigh + factor(idcommunity) +
model4 + medu + hhsizep + lntotminc + immuniz + nonclinic,
fedu data = data)
coeftest(model4, vcov = vcovCL, cluster = ~idcommunity)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.0645726 0.4408236 -2.4150 0.0159136 *
postXhigh 0.6019710 0.2680160 2.2460 0.0249178 *
factor(idcommunity)70 0.1933649 0.1737214 1.1131 0.2659412
factor(idcommunity)71 0.2259103 0.2763652 0.8174 0.4138732
factor(idcommunity)74 -3.2471189 0.1573106 -20.6414 < 2.2e-16 ***
factor(idcommunity)77 2.2644779 0.2476240 9.1448 < 2.2e-16 ***
factor(idcommunity)78 -0.1563362 0.1573615 -0.9935 0.3207120
factor(idcommunity)79 0.0089766 0.1663643 0.0540 0.9569797
factor(idcommunity)80 -0.3651805 0.1226930 -2.9764 0.0029863 **
factor(idcommunity)193 -1.1475436 0.1105372 -10.3815 < 2.2e-16 ***
factor(idcommunity)195 -0.3069368 0.1019059 -3.0120 0.0026603 **
factor(idcommunity)196 -1.0481012 0.1710558 -6.1272 1.280e-09 ***
factor(idcommunity)197 -0.9015562 0.1645134 -5.4801 5.367e-08 ***
factor(idcommunity)198 0.5366655 0.0902965 5.9434 3.841e-09 ***
factor(idcommunity)200 -0.7424962 0.1357071 -5.4713 5.633e-08 ***
factor(idcommunity)201 -0.7420249 0.1024836 -7.2404 8.852e-13 ***
factor(idcommunity)202 0.8699238 0.0732786 11.8715 < 2.2e-16 ***
factor(idcommunity)203 -0.6664475 0.1079494 -6.1737 9.649e-10 ***
factor(idcommunity)204 0.7423737 0.1585027 4.6837 3.203e-06 ***
factor(idcommunity)205 -0.4176355 0.1697906 -2.4597 0.0140716 *
factor(idcommunity)207 -0.6385605 0.1506371 -4.2391 2.450e-05 ***
factor(idcommunity)208 -0.6710044 0.1744953 -3.8454 0.0001279 ***
factor(idcommunity)209 -1.1580961 0.1091670 -10.6085 < 2.2e-16 ***
factor(idcommunity)211 -0.4320618 0.1428781 -3.0240 0.0025577 **
factor(idcommunity)212 0.1757160 0.1164421 1.5090 0.1316006
factor(idcommunity)213 0.2483837 0.1085215 2.2888 0.0222969 *
factor(idcommunity)214 -1.4852942 0.0928221 -16.0015 < 2.2e-16 ***
factor(idcommunity)215 -1.2820399 0.1331408 -9.6292 < 2.2e-16 ***
factor(idcommunity)216 -0.4708782 0.1550481 -3.0370 0.0024509 **
factor(idcommunity)219 -0.5885988 0.1439383 -4.0892 4.672e-05 ***
factor(idcommunity)220 -0.9704521 0.1665053 -5.8284 7.524e-09 ***
factor(idcommunity)221 0.2886973 0.1467395 1.9674 0.0494089 *
factor(idcommunity)222 -0.1326631 0.1466616 -0.9046 0.3659183
factor(idcommunity)223 0.2565938 0.1588960 1.6149 0.1066547
factor(idcommunity)224 0.1959028 0.1369018 1.4310 0.1527472
factor(idcommunity)225 0.5698398 0.1641492 3.4715 0.0005395 ***
factor(idcommunity)226 0.2609457 0.1454794 1.7937 0.0731610 .
factor(idcommunity)227 -0.3583745 0.1675050 -2.1395 0.0326356 *
factor(idcommunity)228 0.2722016 0.1654947 1.6448 0.1003274
factor(idcommunity)229 -0.1944300 0.1622280 -1.1985 0.2310041
factor(idcommunity)230 0.5167931 0.1595965 3.2381 0.0012424 **
factor(idcommunity)231 -0.2416760 0.1175527 -2.0559 0.0400493 *
factor(idcommunity)232 -0.5252430 0.1442365 -3.6415 0.0002848 ***
factor(idcommunity)233 -0.4682290 0.1626382 -2.8790 0.0040740 **
factor(idcommunity)234 -0.1040654 0.2243891 -0.4638 0.6429109
factor(idcommunity)235 -1.0232785 0.0880237 -11.6250 < 2.2e-16 ***
factor(idcommunity)236 -0.0436078 0.1449025 -0.3009 0.7635181
factor(idcommunity)237 -0.6546086 0.2663169 -2.4580 0.0141381 *
factor(idcommunity)238 0.1986145 0.1065013 1.8649 0.0624849 .
factor(idcommunity)239 -0.1836079 0.1550980 -1.1838 0.2367634
factor(idcommunity)240 0.2001161 0.1575129 1.2705 0.2042082
factor(idcommunity)241 -0.5025294 0.1541117 -3.2608 0.0011481 **
factor(idcommunity)242 -0.0814356 0.1562613 -0.5212 0.6023762
factor(idcommunity)243 0.7516685 0.2785481 2.6985 0.0070810 **
factor(idcommunity)244 -0.6799089 0.1711285 -3.9731 7.599e-05 ***
fedu 0.0106763 0.0202474 0.5273 0.5981070
medu -0.0049970 0.0160621 -0.3111 0.7557853
hhsizep -0.0105404 0.0105671 -0.9975 0.3187747
lntotminc 0.1436456 0.0584701 2.4567 0.0141878 *
immuniz 0.3358176 0.1382452 2.4291 0.0153080 *
nonclinic -0.2894748 0.2114265 -1.3692 0.1712566
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Agradecimientos
Mucho de este trabajo se debe a los articulos, recursos (free commons) y material del Profesor Colin Cameron, autor del libro: Microeconometrics Using Stata.
Carlos Yanes Guerra | Departamento de Economía | Universidad del Norte