R/disenos.R

Defines functions obtener_diseno_3 obtener_diseno_2 obtener_diseno

# Del script "Disenios.R"

obtener_diseno = function(encuesta, datos) {

  datos = cbind(data.frame(sin_estratos = rep(1, nrow(datos))), datos)

  if (encuesta %in% c("EANNA Hogares", "EANNA Individuos", "EANNA NNyA")) {
    cant.rep.boot = 300
    repcols = datos[, paste0("w_rep", 1:cant.rep.boot)]
    weights = "PONDERA"
  } else if (encuesta %in% c("ENGHo Hogares", "ENGHo Individuos")) {
    cant.rep.boot = 200
    repcols = datos[, paste0("whog_rep", 1:cant.rep.boot)]
    weights = "pondera"
  } else if (encuesta == "ENFR") {
    cant.rep.boot = 200
    repcols = datos[, paste0("wf1p_rep", 1:cant.rep.boot)]
    weights = "wf1p"
  } else if (encuesta == "DISCAPACIDAD") {
    cant.rep.boot = 300
    repcols = datos[, colnames(datos)[(ncol(datos) - cant.rep.boot + 1):ncol(datos)]]
    weights = "pondera"
  }

  survey::svrepdesign(
    data = datos,               # Base de datos
    weights = datos[[weights]], # Factor de expansion
    repweights = repcols,       # Factores de expansion replicados
    type = "bootstrap",
    mse = TRUE                  # Calcular variancia bootstrap mediante formula MS
  )
}

# Solo se llama cuando "encuesta == 'ENFR'"
obtener_diseno_2 = function(datos) {
  datos = cbind(data.frame(sin_estratos = rep(1, nrow(datos))), datos)
  cant.rep.boot = 200
  survey::svrepdesign(
    data =  datos,
    weights = ~wf2p,
    repweights = datos[, paste0("wf2p_rep", 1:cant.rep.boot)],
    type = "bootstrap",
    mse = TRUE
  )
}

obtener_diseno_3 = function(datos) {
  datos = cbind(data.frame(sin_estratos = rep(1, nrow(datos))), datos)
  cant.rep.boot = 200
  survey::svrepdesign(
    data =  datos,
    weights = ~wf3p,
    repweights = datos[, paste0("wf2p_rep", 1:cant.rep.boot)],
    type = "bootstrap",
    mse = TRUE
  )
}
tomicapretto/cemrepboot documentation built on Dec. 31, 2020, 8:43 a.m.