# Cargar base del ciiu a 5 dígitos, codiguera adaptada a Uruguay por el INE
cargar_ciiu_INE <- file.path('data-raw', 'EnricoCiiu.xlsx') %>%
read_excel(col_names = TRUE) %>%
rename_all(tolower) %>%
rename(seccion = sección, descripcion = descripción) %>%
filter(descripcion != "Otras actividades del servicio de alimentación") %>%
mutate(ciiu_4 = if_else(ciiu_4 == 1010, 10100, # Código incorrecto
if_else(ciiu_4 == 1919, 1619, # Corrección confirmada por INE
if_else(ciiu_4 == 7700, 77000, # Falta cero, mal reportada
if_else(ciiu_4 == 74300, 84300, # Código incorrecto
ciiu_4))))) %>%
filter(seccion != "V", ciiu_4 != 68100) %>%
add_row(seccion = c("B", "I", rep("L", 3)),
ciiu_4 = c(07100, 56290, 68100, 68101, 68109),
descripcion = c("Extracción de minerales de hierro",
"Otras actividades del servicio de alimentación",
"Actividades inmobiliarias con bienes propios o arrendados",
"Propiedad y explotación de bienes inmobiliarios propios no rurales",
"Otras actividades con bienes propios o arrendados")) %>%
mutate(ciiu = str_pad(ciiu_4, 5, "left", "0"))
correcciones_ciiu <- file.path('data-raw', 'correcciones_ciiu.xlsx') %>%
read_excel(col_names = TRUE) %>%
janitor::clean_names() %>%
transmute(ciiu = ciiu_4, descripcion) %>%
mutate(ciiu = str_pad(ciiu, 5, "left", "0"),
ciiu_4 = as.numeric(ciiu)) %>%
left_join(cargar_ciiu_INE %>% select(-descripcion, -ciiu_4), by = "ciiu") %>%
mutate(seccion = case_when(ciiu_4 == "0320" ~ "A", TRUE ~ seccion))
cargar_ciiu_INE <- cargar_ciiu_INE %>%
filter(!ciiu %in% correcciones_ciiu$ciiu) %>%
full_join(correcciones_ciiu)
devtools::use_data(cargar_ciiu_INE, overwrite = TRUE)
cargar_ciiu_INE_anexo <- file.path('data-raw', 'EnricoCiiu.xlsx') %>%
read_excel(col_names = TRUE) %>% rename_all(tolower) %>%
rename(seccion = sección, descripcion = descripción) %>%
filter(seccion == "V", as.numeric(ciiu_4) > 1900) %>%
mutate(
desc_seccion = "Anexo al manual de Clasificación Industrial Internacional Uniforme, (rev.4)",
division = "01*",
desc_division = "Anexo - Predios rurales",
grupo = "019",
desc_grupo = desc_division,
clase = str_c(grupo, "0"),
desc_clase = desc_grupo,
subclase = str_pad(ciiu_4, 5, "left", "0"),
desc_subclase = if_else(subclase %in% c("01901", "01902", "01905", "01908"),
str_c("Sin actividad económica", ' - ', descripcion),
str_c("Con actividad económica", ' - ', descripcion))) %>%
select(-ciiu_4, -descripcion)
# save(cargar_ciiu_INE_anexo, file = 'data/cargar_ciiu_INE_anexo.rda')
devtools::use_data(cargar_ciiu_INE_anexo, overwrite = TRUE)
cargar_ciiu_division <- file.path('data-raw', 'ciiu_rev4_division.csv') %>%
read_csv(locale=locale(encoding="latin1")) %>%
transmute(division = str_pad(division, 2, "left", "0"), desc_division)
devtools::use_data(cargar_ciiu_division, overwrite = TRUE)
cargar_ciiu_seccion <- file.path('data-raw', 'ciiu_rev4_division.csv') %>%
read_csv(locale=locale(encoding="latin1")) %>%
transmute(seccion, desc_seccion) %>%
unique
devtools::use_data(cargar_ciiu_seccion, overwrite = TRUE)
cargar_seccion_division <- file.path('data-raw', 'ciiu_rev4_division.csv') %>%
read_csv(locale=locale(encoding="latin1")) %>%
mutate(division = str_pad(division, 2, "left", "0")) %>%
select(-industria_ad_hoc)
devtools::use_data(cargar_seccion_division, overwrite = TRUE)
# Considerar el ciiu a 4 dígitos
codiguera_ciiu_4digitos <- function(df) {
cargar_ciiu_INE %>% transmute(ciiu = str_sub(ciiu, 1, 4), descripcion)
}
# Considerar el ciiu a 5 dígitos
codiguera_ciiu_5digitos <- function(df) {
cargar_ciiu_INE %>% transmute(ciiu, descripcion)
}
# Análisis codiguera del INE
ciiu <- cargar_ciiu_INE %>%
arrange(ciiu) %>%
mutate(division = ifelse(str_detect(ciiu, '000$') == TRUE, str_sub(ciiu, 1, 2), NA), # división detectada
grupo = ifelse((is.na(division) == TRUE & str_detect(ciiu, '00$') == TRUE), # grupo detectado
str_sub(ciiu, 1, 3), NA),
descripcion_grupo = ifelse(is.na(grupo) != TRUE, descripcion, NA),
grupo = if_else(is.na(grupo) == TRUE, str_c(division, "0"), grupo),
clase = ifelse((is.na(division) == TRUE & is.na(grupo) == TRUE &
str_detect(ciiu, '0$') == TRUE), str_sub(ciiu, 1, 4), NA), # clase detectada
descripcion_clase = ifelse(is.na(clase) != TRUE, descripcion, NA),
subclase = ifelse((is.na(division) == TRUE & is.na(grupo) == TRUE & # subclase detectada
is.na(clase) == TRUE), ciiu, NA),
descripcion_subclase = ifelse(is.na(subclase) != TRUE, descripcion, NA)) %>%
mutate(clase = if_else((is.na(subclase) != TRUE & is.na(clase) == TRUE),
str_sub(subclase, 1, 4), clase),
grupo = if_else((is.na(clase) != TRUE & is.na(grupo) == TRUE),
str_sub(clase, 1, 3), grupo),
division = if_else((is.na(grupo) != TRUE & is.na(division) == TRUE),
str_sub(grupo, 1, 2), division)) %>%
mutate(subclase = if_else(clase == "4631", "46310", subclase),
descripcion_subclase = if_else(clase == "4631",
"Comercio al por mayor de aves y sus productos",
descripcion_subclase))
# save(ciiu, file = 'data/ciiu.rda')
devtools::use_data(ciiu, overwrite = TRUE)
#### Componentes de la codiguera completa
seccion <- cargar_ciiu_seccion # 21 secciones, falta unicamente la sección V
# save(seccion, file = 'data/seccion.rda')
devtools::use_data(seccion, overwrite = TRUE)
division <- cargar_ciiu_division # 88 divisiones, está completa.
# save(division, file = 'data/division.rda')
devtools::use_data(division, overwrite = TRUE)
seccion_division <- cargar_seccion_division %>%
select(seccion, division) %>%
unique
# save(seccion_division, file = 'data/seccion_division.rda')
devtools::use_data(seccion_division, overwrite = TRUE)
grupo <- ciiu %>% select(division, grupo, descripcion_grupo) %>%
add_row(division = c("01", "03", "07", "10"),
grupo = c("011", "032", "071", "101"),
descripcion_grupo = c("Cultivo de productos no perennes", # agrega grupos faltantes
"Acuicultura", # según archivo "CIIU-Rev-4_Notas-explicativas.pdf"
"Extracción de minerales de hierro",
"Procesamiento y conservación de carne")) %>%
left_join(division %>% filter(division %in% c("11", "12", "17", "21", "31", "36", # asigna descripcion de la división a los grupos que corresponde
"37", "39", "41", "61", "62", "75", # según archivo "CIIU-Rev-4_Notas-explicativas.pdf"
"90", "91", "92", "96", "97", "99")),
by = "division") %>%
mutate(desc_grupo = if_else(is.na(descripcion_grupo) == TRUE, desc_division,
if_else(grupo == "651", "Seguros", descripcion_grupo))) %>%
select(grupo, desc_grupo) %>%
filter(is.na(desc_grupo) != TRUE) %>%
unique %>%
arrange(grupo)
# save(grupo, file = 'data/grupo.rda')
devtools::use_data(grupo, overwrite = TRUE)
clase <- ciiu %>% select(grupo, clase, descripcion_clase, subclase) %>%
left_join(grupo %>%
filter(grupo %in% c("120", "210", "360", "370", "390", "410", "461", # asigna descripcion de la grupos a las clases que corresponde
"462", "463", "750", "900", "920", "970", "990")), # según archivo "CIIU-Rev-4_Notas-explicativas.pdf"
by = "grupo") %>%
mutate(clase = if_else(is.na(desc_grupo) != TRUE, str_c(grupo, "0"), clase)) %>%
mutate(desc_clase = if_else(is.na(descripcion_clase) == TRUE,
desc_grupo, descripcion_clase)) %>%
select(clase, desc_clase) %>%
mutate(clase = # 46310 corresponde a la décima clase del grupo 463
if_else(desc_clase == "Comercio al por mayor de aves y sus productos",
"4631", clase)) %>%
filter(is.na(desc_clase) != TRUE) %>% unique %>% arrange(clase)
# save(clase, file = 'data/clase.rda')
devtools::use_data(clase, overwrite = TRUE)
subclase <- ciiu %>% select(clase, subclase, descripcion_subclase) %>%
left_join(clase %>%
filter(clase %in% c("1200", "2100", "3600", "3700", "3900", # asigna descripcion de la clase a las subclases que corresponde
"4100", "7500", "9000", "9900")), # según archivo "CIIU-Rev-4_Notas-explicativas.pdf"
by = "clase") %>%
mutate(subclase =
if_else(is.na(desc_clase) != TRUE, str_c(clase, "0"), subclase)) %>%
mutate(desc_subclase =
if_else(is.na(descripcion_subclase) == TRUE, desc_clase, descripcion_subclase)) %>%
select(subclase, desc_subclase) %>%
filter(is.na(desc_subclase) != TRUE) %>%
unique %>%
arrange(subclase)
# save(subclase, file = 'data/subclase.rda')
devtools::use_data(subclase, overwrite = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.