oln_generate_casen_edad_tr_ <- function(df, year, ...) {
# Verifica la disponibilidad de la variable
if (year < 1990) stop(sprintf("aún no disponible para el año %d.", year))
# Identifica inputs y outputs
output <- c("edad_tr_")
inputs <- oln_find_inputs(output, src = "casen", year)
# Genera la nueva variable
df[[output]] <- df[[inputs]] %>%
cut(breaks = c(-Inf, 14, 24, 34, 44, 54, 64, Inf), labels = FALSE)
# Etiqueta los valores
labelled::val_labels(df[[output]]) <-
c("14 o menos" = 1,
"Entre 15 y 24" = 2,
"Entre 25 y 34" = 3,
"Entre 35 y 44" = 4,
"Entre 45 y 54" = 5,
"Entre 55 y 64" = 6,
"65 o mas" = 7,
"ns/nr" = NA)
# Etiqueta la variable
labelled::var_label(df[[output]]) <-
"Tramo de edad (en anos)"
# Factoriza la variable
df[[output]] <- df[[output]] %>%
labelled::to_factor(exclude = NULL)
# Reporta el resultado
return(df)
}
oln_generate_casen_educ_ <- function(df, year, ...) {
# Verifica la disponibilidad de la variable
if (year < 1990) stop(sprintf("aún no disponible para el año %d.", year))
# Identifica inputs y outputs
output <- c("educ_")
inputs <- oln_find_inputs(output, src = "casen", year)
# Genera la nueva variable
df[[output]] <- df[[inputs]] %>%
dplyr::recode(`8` = 9, `9` = 8) %>%
cut(breaks = c(-Inf, 1, 4, 8, 9, 11, 12), labels = FALSE)
# Etiqueta los valores
labelled::val_labels(df[[output]]) <-
c("Basica incompleta o menos" = 1,
"Basica" = 2,
"Media" = 3,
"Tecnica" = 4,
"Profesional" = 5,
"Postgrado" = 6,
"ns/nr" = NA)
# Etiqueta la variable
labelled::var_label(df[[output]]) <-
"Nivel educacional"
# Factoriza la variable
df[[output]] <- df[[output]] %>%
labelled::to_factor(exclude = NULL)
# Reporta el resultado
return(df)
}
oln_generate_casen_etnia_ <- function(df, year, ...) {
# Verifica la disponibilidad de la variable
if (year < 2009) stop(sprintf("aún no disponible para el año %d.", year))
# Identifica inputs y outputs
output <- c("etnia_")
inputs <- oln_find_inputs(output, src = "casen", year)
# Genera la nueva variable
df[[output]] <- as.numeric(df[[inputs]] <= 9)
# Etiqueta los valores
labelled::val_labels(df[[output]]) <-
c("No" = 0, "Si" = 1, "ns/nr" = NA)
# Etiqueta la variable
labelled::var_label(df[[output]]) <-
"Pertenece a alguna etnia?"
# Factoriza la variable
df[[output]] <- df[[output]] %>%
labelled::to_factor(exclude = NULL)
# Reporta el resultado
return(df)
}
oln_generate_casen_ocupado_ <- function(df, year, ...) {
# Verifica la disponibilidad de la variable
if (year < 2000) stop(sprintf("aún no disponible para el año %d.", year))
# Identifica inputs y outputs
output <- c("ocupado_")
inputs <- oln_find_inputs(output, src = "casen", year = year)
# Genera la nueva variable
df[[output]] <- as.numeric(df[[inputs]] == 1)
# Etiqueta los valores
labelled::val_labels(df[[output]]) <-
c("No" = 0, "Si" = 1, "ns/nr" = NA)
# Etiqueta la variable
labelled::var_label(df[[output]]) <-
"Esta ocupado?"
# Factoriza la variable
df[[output]] <- df[[output]] %>%
labelled::to_factor(exclude = NULL)
# Reporta el resultado
return(df)
}
oln_generate_casen_oficio1_ <- function(df, year, ...) {
# Verifica la disponibilidad de la variable
if (year < 2000) stop(sprintf("aún no disponible para el año %d.", year))
# Identifica inputs y outputs
output <- c("oficio1_")
inputs <- oln_find_inputs(output, src = "casen", year)
# Genera la nueva variable
df[[output]] <- df[[inputs]] %>%
dplyr::recode(`10` = NA_real_, `9999` = NA_real_)
# Etiqueta los valores
labelled::val_labels(df[[output]]) <-
c("Fuerzas armadas" = 0,
"Miembros del poder ejecutivo/legislativo y personal directivo" = 1,
"Profesionales, cientificos e intelectuales" = 2,
"Tecnicos profesionales de nivel medio" = 3,
"Empleados de oficina" = 4,
"Trabajadores de los servicios y vendedores de comercios y mercados" = 5,
"Agricultores y trabajadores calificados agropecuarios y pesqueros" = 6,
"Oficiales, operarios y artesanos de artes mecánicas y otros oficios" = 7,
"Operadores de instalaciones y maquinas y montadores" = 8,
"Trabajadores no calificados" = 9,
"ns/nr" = NA)
# Etiqueta la variable
labelled::var_label(df[[output]]) <-
"Gran grupo de ocupacion (CIUO-88)"
# Factoriza la variable
df[[output]] <- df[[output]] %>%
labelled::to_factor(exclude = NULL)
# Reporta el resultado
return(df)
}
oln_generate_casen_oficio4_ <- function(df, year, ...) {
# Verifica la disponibilidad de la variable
if (year < 2011) stop(sprintf("aún no disponible para el año %d.", year))
# Identifica inputs y outputs
output <- c("oficio4_")
inputs <- oln_find_inputs(output, src = "casen", year = year)
# Genera la nueva variable
df[[output]] <-
as.numeric(df[[inputs]]) %>%
dplyr::recode(`9500` = NA_real_, `9999` = NA_real_)
# Etiqueta la variable
labelled::var_label(df[[output]]) <-
"Grupo primario de ocupacion (CIUO-88)"
# Reporta el resultado
return(df)
}
oln_generate_casen_psu_ <- function(df, year, ...) {
# Verifica la disponibilidad de la variable
if (year < 2000) stop(sprintf("aún no disponible para el año %d.", year))
# Identifica inputs y outputs
output <- c("psu_")
inputs <- oln_find_inputs(output, src = "casen", year)
# Genera la nueva variable
df[[output]] <- df[[inputs]]
# Etiqueta la variable
labelled::var_label(df[[output]]) <-
"PSU"
# Reporta el resultado
return(df)
}
oln_generate_casen_pw_ <- function(df, year, ...) {
# Verifica la disponibilidad de la variable
if (year < 2000) stop(sprintf("aún no disponible para el año %d.", year))
# Identifica inputs y outputs
output <- c("pw_")
inputs <- oln_find_inputs(output, src = "casen", year)
# Genera la nueva variable
df[[output]] <- df[[inputs]]
# Etiqueta la variable
labelled::var_label(df[[output]]) <-
"Factor de expansion"
# Reporta el resultado
return(df)
}
oln_generate_casen_rama1_ <- function(df, year, ...) {
# Verifica la disponibilidad de la variable
if (year < 2011) stop(sprintf("aún no disponible para el año %d.", year))
# Identifica inputs y outputs
output <- c("rama1_")
inputs <- oln_find_inputs(output, src = "casen", year)
# Genera la nueva variable
df[[output]] <-
dplyr::case_when(df[[inputs]] %in% c(12, 17) ~ 12,
df[[inputs]] %in% 13:16 ~ 13,
df[[inputs]] %in% 99 ~ NA_real_,
TRUE ~ df[[inputs]])
# Etiqueta los valores
labelled::val_labels(df[[output]]) <-
c("Agropecuario-Silvicola" = 01,
"Pesca" = 02,
"Mineria" = 03,
"Industria Manufacturera" = 04,
"Electricidad, gas y agua" = 05,
"Construccion" = 06,
"Comercio" = 07,
"Hoteles y restaurantes" = 08,
"Transporte y comunicaciones" = 09,
"Intermediacion financiera" = 10,
"Actividades inmobiliarias, empresariales y de alquiler" = 11,
"Servicios personales" = 12,
"Administracion publica" = 13,
"ns/nr" = NA)
# Etiqueta la variable
labelled::var_label(df[[output]]) <-
"Rama de actividad economica (CIIU-rev3)"
# Factoriza la variable
df[[output]] <- df[[output]] %>%
labelled::to_factor(exclude = NULL)
# Reporta el resultado
return(df)
}
oln_generate_casen_sexo_ <- function(df, year, ...) {
# Verifica la disponibilidad de la variable
if (year < 2000) stop(sprintf("aún no disponible para el año %d.", year))
# Identifica inputs y outputs
output <- c("sexo_")
inputs <- oln_find_inputs(output, src = "casen", year)
# Genera la nueva variable
df[[output]] <- df[[inputs]]
# Etiqueta los valores
labelled::val_labels(df[[output]]) <-
c("Hombre" = 1, "Mujer" = 2, "ns/nr" = NA)
# Etiqueta la variable
labelled::var_label(df[[output]]) <-
"Sexo"
# Factoriza la variable
df[[output]] <- df[[output]] %>%
labelled::to_factor(exclude = NULL)
# Reporta el resultado
return(df)
}
oln_generate_casen_strata_ <- function(df, year, ...) {
# Verifica la disponibilidad de la variable
if (year < 2000) stop(sprintf("aún no disponible para el año %d.", year))
# Identifica inputs y outputs
output <- c("strata_")
inputs <- oln_find_inputs(output, src = "casen", year)
# Genera la nueva variable
df[[output]] <- df[[inputs]]
# Etiqueta la variable
labelled::var_label(df[[output]]) <-
"Estrato"
# Reporta el resultado
return(df)
}
oln_generate_casen_trabsub_ <- function(df, year, ...) {
# Verifica la disponibilidad de la variable
if (year < 2011) stop(sprintf("aún no disponible para el año %d.", year))
# Identifica inputs y outputs
output <- c("trabsub_")
inputs <- oln_find_inputs(output, src = "casen", year = year)
# Genera variables auxiliares (de ser necesario)
if (!("oficio4_" %in% colnames(df))) {
df <- oln_generate_casen_oficio4_(df, year, ...)
}
# Genera la nueva variable
df[[output]] <-
(as.numeric(df[["oficio4_"]]) == 6210) %>%
dplyr::if_else(1, 0)
# Etiqueta los valores
labelled::val_labels(df[[output]]) <-
c("No" = 0, "Si" = 1, "ns/nr" = NA)
# Etiqueta la variable
labelled::var_label(df[[output]]) <-
"Es un trabajador de subsistencia? (CIUO-88: 6210)"
# Factoriza la variable
df[[output]] <- df[[output]] %>%
labelled::to_factor(exclude = NULL)
# Reporta el resultado
return(df)
}
oln_generate_casen_zona_ <- function(df, year, ...) {
# Verifica la disponibilidad de la variable
if (year < 1990) stop(sprintf("aún no disponible para el año %d.", year))
# Identifica inputs y outputs
output <- c("zona_")
inputs <- oln_find_inputs(output, src = "casen", year)
# Genera la nueva variable
df[[output]] <- df[[inputs]]
# Etiqueta los valores
labelled::val_labels(df[[output]]) <-
c("Urbano" = 1, "Rural" = 2, "ns/nr" = NA)
# Etiqueta la variable
labelled::var_label(df[[output]]) <-
"Zona"
# Factoriza la variable
df[[output]] <- df[[output]] %>%
labelled::to_factor(exclude = NULL)
# Reporta el resultado
return(df)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.