Análisis Diseño Experimental

Autor/a

Andreas Laffert, Asistente de Investigación

Fecha de publicación

5 de junio de 2024

1 Descriptivos

colnames(db) <- sapply(colnames(db), function(x) paste(toupper(substring(x, 1, 1)), substring(x, 2), sep = ""))

db %>% 
  select(-Id_estudiante) %>% 
  vtable::st(summ.names = c("N", "Media / Frecuencia", "Desv. Est.", "Min", "Pctl.25", "Pctl.75", "Max"), title = "Estadísticos descriptivos")
Tabla 1: Estadísticos descriptivos
Estadísticos descriptivos
Variable N Media / Frecuencia Desv. Est. Min Pctl.25 Pctl.75 Max
Dep_escuela 828 7.3 3.4 2 4 10 12
Nivel_estudiante 828
... Básica 395 48%
... Media 433 52%
Asignacion 828
... Tratamiento 403 49%
... Control 425 51%
Sexo 828
... Hombre 405 49%
... Mujer 385 46%
... Otro 38 5%
Edad 828 13 1.6 11 12 15 24
Nacionalidad 828
... Chile 746 90%
... Otra 82 10%
Etnia 828
... Mapuche 104 13%
... Rapa Nui 6 1%
... Quechua 2 0%
... No, ninguno anteriores 716 86%
Religion 828
... Católico 315 38%
... Evangélico 70 8%
... Protestante 5 1%
... Judío 7 1%
... Creyente no adherente 49 6%
... Ateo 68 8%
... Agnóstico 43 5%
... Ninguna 271 33%
P1_1 828
... Muy en desacuerdo 50 6%
... En desacuerdo 224 27%
... De acuerdo 434 52%
... Muy de acuerdo 120 14%
P1_2 828
... Muy en desacuerdo 49 6%
... En desacuerdo 173 21%
... De acuerdo 471 57%
... Muy de acuerdo 135 16%
P1_3 828
... Muy en desacuerdo 65 8%
... En desacuerdo 168 20%
... De acuerdo 275 33%
... Muy de acuerdo 320 39%
P1_4 828
... Muy en desacuerdo 43 5%
... En desacuerdo 147 18%
... De acuerdo 355 43%
... Muy de acuerdo 283 34%
P1_5 828
... Muy en desacuerdo 32 4%
... En desacuerdo 65 8%
... De acuerdo 280 34%
... Muy de acuerdo 451 54%
P1_6 828
... Muy en desacuerdo 63 8%
... En desacuerdo 313 38%
... De acuerdo 317 38%
... Muy de acuerdo 135 16%
P1_7 828
... Muy en desacuerdo 80 10%
... En desacuerdo 293 35%
... De acuerdo 382 46%
... Muy de acuerdo 73 9%
P1_8 828
... Muy en desacuerdo 70 8%
... En desacuerdo 253 31%
... De acuerdo 396 48%
... Muy de acuerdo 109 13%
P1_9 828
... Muy en desacuerdo 206 25%
... En desacuerdo 302 36%
... De acuerdo 148 18%
... Muy de acuerdo 172 21%
P1_10 828
... Muy en desacuerdo 192 23%
... En desacuerdo 412 50%
... De acuerdo 167 20%
... Muy de acuerdo 57 7%
P9_1 828
... Muy en desacuerdo 33 4%
... En desacuerdo 76 9%
... De acuerdo 346 42%
... Muy de acuerdo 373 45%
P9_2 828
... Muy en desacuerdo 33 4%
... En desacuerdo 181 22%
... De acuerdo 449 54%
... Muy de acuerdo 165 20%
P9_3 828
... Muy en desacuerdo 169 20%
... En desacuerdo 336 41%
... De acuerdo 244 29%
... Muy de acuerdo 79 10%
P9_4 828
... Muy en desacuerdo 302 36%
... En desacuerdo 287 35%
... De acuerdo 175 21%
... Muy de acuerdo 64 8%
P9_5 828
... Muy en desacuerdo 250 30%
... En desacuerdo 329 40%
... De acuerdo 207 25%
... Muy de acuerdo 42 5%
P9_6 828
... Muy en desacuerdo 97 12%
... En desacuerdo 284 34%
... De acuerdo 362 44%
... Muy de acuerdo 85 10%

2 Balance

db <- db %>% 
  janitor::clean_names()

db1 <- db %>% 
  select(-id_estudiante) %>% 
  mutate(asignacion = if_else(asignacion == "Tratamiento", 1, 0))

m0 <- lm(asignacion ~ sexo + edad + etnia + religion + 
     nacionalidad + nivel_estudiante,
     data = db1)

tab_model(m0, 
          show.se=TRUE,
          show.ci=FALSE,
          digits=3,
          p.style = "stars",
          dv.labels = "Modelo 1",
          string.pred = "Predictores",
          string.est = "β",
          show.reflvl = T, 
          auto.label = T)
Tabla 2: Regresión lineal OLS sobre asignación aleatoria por covariables
  Modelo 1
Predictores β std. Error
(Intercept) 0.662 * 0.284
edad -0.015 0.023
Hombre Reference
Mujer 0.029 0.036
Otro 0.059 0.088
Mapuche Reference
Rapa Nui -0.004 0.213
Quechua 0.622 0.397
No, ninguno anteriores -0.036 0.054
Católico Reference
Evangélico 0.057 0.067
Protestante -0.205 0.248
Judío 0.019 0.202
Creyente no adherente 0.043 0.078
Ateo -0.007 0.068
Agnóstico -0.021 0.083
Ninguna 0.018 0.042
Chile Reference
Otra -0.040 0.060
Básica Reference
Media 0.072 0.076
Observations 828
R2 / R2 adjusted 0.009 / -0.010
* p<0.05   ** p<0.01   *** p<0.001

3 Estimación Average Treatment Effect

db2 <- db %>% 
  mutate(
    asignacion = factor(asignacion, levels = c("Control", "Tratamiento")),
    across(
      .cols = starts_with(c("p1_", "p9_")),
      .fns = ~ as.numeric(.)
    )
  ) %>% 
  rowwise() %>% 
  mutate(market_justice_i = mean(p9_3, p9_4, p9_5))

dep_vars1 <- colnames(db2[10:19])  

results_list <- list()

for(dep_var in dep_vars1) {
  formula <- as.formula(paste(dep_var, "~ asignacion"))
  result <- lm_robust(formula = formula, data = db2, se_type = "HC2")
  results_list[[dep_var]] <- result
}

tab_model(results_list, show.se=TRUE,
          show.ci=FALSE,
          digits=3,
          p.style = "stars",
          string.pred = "Predictores",
          string.est = "β",
          show.reflvl = T, 
          auto.label = T)
Tabla 3: Modelos de regresión OLS para variables sobre meritocracia
  p1_1 p1_2 p1_3 p1_4 p1_5 p1_6 p1_7 p1_8 p1_9 p1_10
Predictores β std. Error β std. Error β std. Error β std. Error β std. Error β std. Error β std. Error β std. Error β std. Error β std. Error
(Intercept) 2.781 *** 0.037 2.805 *** 0.037 3.056 *** 0.045 3.071 *** 0.041 3.405 *** 0.039 2.654 *** 0.040 2.569 *** 0.039 2.668 *** 0.039 2.325 *** 0.052 2.162 *** 0.041
Control Reference Reference Reference Reference Reference Reference Reference Reference Reference Reference
Tratamiento -0.057 0.054 0.064 0.053 -0.061 0.066 -0.021 0.059 -0.032 0.055 -0.044 0.059 -0.058 0.055 -0.023 0.056 0.043 0.074 -0.113 0.058
Observations 828 828 828 828 828 828 828 828 828 828
R2 / R2 adjusted 0.001 / 0.000 0.002 / 0.001 0.001 / -0.000 0.000 / -0.001 0.000 / -0.001 0.001 / -0.001 0.001 / 0.000 0.000 / -0.001 0.000 / -0.001 0.005 / 0.003
* p<0.05   ** p<0.01   *** p<0.001
dep_vars2 <- colnames(db2[20:26])  

results_list <- list()

for(dep_var in dep_vars2) {
  formula <- as.formula(paste(dep_var, "~ asignacion"))
  result <- lm_robust(formula = formula, data = db2, se_type = "HC2")
  results_list[[dep_var]] <- result
}

tab_model(results_list, show.se=TRUE,
          show.ci=FALSE,
          digits=3,
          p.style = "stars",
          string.pred = "Predictores",
          string.est = "β",
          show.reflvl = T, 
          auto.label = T)
Tabla 4: Modelos de regresión OLS para variables sobre justificación desigualdad
  p9_1 p9_2 p9_3 p9_4 p9_5 p9_6 market_justice_i
Predictores β std. Error β std. Error β std. Error β std. Error β std. Error β std. Error β std. Error
(Intercept) 3.278 *** 0.038 2.899 *** 0.036 2.296 *** 0.043 2.007 *** 0.046 2.012 *** 0.041 2.508 *** 0.039 2.296 *** 0.043
Control Reference Reference Reference Reference Reference Reference Reference
Tratamiento 0.003 0.055 0.004 0.052 -0.031 0.062 -0.012 0.065 0.078 0.060 0.035 0.058 -0.031 0.062
Observations 828 828 828 828 828 828 828
R2 / R2 adjusted 0.000 / -0.001 0.000 / -0.001 0.000 / -0.001 0.000 / -0.001 0.002 / 0.001 0.000 / -0.001 0.000 / -0.001
* p<0.05   ** p<0.01   *** p<0.001