Commit ad6aeb85 authored by Miguel Guerrero's avatar Miguel Guerrero

update dados e gera_correlacao

parent 5e15e31c
...@@ -36,6 +36,15 @@ path_naladi_ncm <- file.path( ...@@ -36,6 +36,15 @@ path_naladi_ncm <- file.path(
"correlacao_naladi_ncm.Rda" "correlacao_naladi_ncm.Rda"
) )
path_naladi_ncm_manual <- file.path(
Sys.getenv("general"),
"Bases",
"correlacoes",
"aladi",
"naladi_ncm",
"correlacao_ncm_naladi_manual.xlsx"
)
path_naladi <- file.path( path_naladi <- file.path(
Sys.getenv("general"), Sys.getenv("general"),
"Bases", "Bases",
...@@ -56,9 +65,13 @@ filtra_mudancas <- function(x, padrao) { ...@@ -56,9 +65,13 @@ filtra_mudancas <- function(x, padrao) {
x |> x |>
select(matches(padrao)) |> select(matches(padrao)) |>
filter( filter(
# seleciona as linhas que tem algum valor diferente de NA com exceção
# de dados na primeira coluna
if_any(-1, ~ !is.na(.)) if_any(-1, ~ !is.na(.))
) |> ) |>
mutate(!!padrao := do.call(coalesce, as.list(across(-1)))) |> # cria uma coluna preenchendo-a com a primeira informação não NA da
# direita para a esquerda
mutate(!!padrao := do.call(coalesce, rev(as.list(across(-1))))) |>
select( select(
ncm_original = 1, ncm_original = 1,
last_col() last_col()
...@@ -85,8 +98,8 @@ saveRDS(ncms_originais, "dados_gerados/ncms_originais.rds") ...@@ -85,8 +98,8 @@ saveRDS(ncms_originais, "dados_gerados/ncms_originais.rds")
load(path_ncm) load(path_ncm)
correlacao_completa <- correlacao_completa_ncm_mercosul %>% correlacao_completa <- correlacao_completa_ncm_mercosul |>
distinct() %>% distinct() |>
rename_with(~str_to_upper(.x)) rename_with(~str_to_upper(.x))
write_parquet(correlacao_completa, "dados_gerados/dataset_ncm.parquet") write_parquet(correlacao_completa, "dados_gerados/dataset_ncm.parquet")
...@@ -96,21 +109,31 @@ write_parquet(correlacao_completa, "dados_gerados/dataset_ncm.parquet") ...@@ -96,21 +109,31 @@ write_parquet(correlacao_completa, "dados_gerados/dataset_ncm.parquet")
load(path_naladi_ncm) load(path_naladi_ncm)
correlacao_completa <- correlacao_naladi_ncm %>% naladi_ncm_manual <- read_xlsx(path_naladi_ncm_manual)
distinct() %>%
correlacao_completa <- correlacao_naladi_ncm |>
distinct() |>
rename_with(~str_to_upper(.x)) rename_with(~str_to_upper(.x))
# obtem ultimo ano # obtem ultimo ano
colunas <- names(correlacao_completa) colunas <- names(correlacao_completa)
ano_max <- colunas %>% ano_max <- colunas |>
str_extract("[0-9]+") %>% str_extract("[0-9]+") |>
max() %>% max() |>
unique() unique()
correlacao_completa %>% naladi_ncm_auto <- correlacao_completa |>
select(contains(ano_max)) %>% select(contains(ano_max)) |>
distinct() %>% distinct()
if(length(naladi_ncm_manual) >= length(naladi_ncm_auto)) {
naladi_ncm <- naladi_ncm_manual
} else {
naladi_ncm <- naladi_ncm_auto
}
naladi_ncm |>
write_parquet("dados_gerados/dataset_naladi_ncm.parquet") write_parquet("dados_gerados/dataset_naladi_ncm.parquet")
...@@ -118,14 +141,14 @@ correlacao_completa %>% ...@@ -118,14 +141,14 @@ correlacao_completa %>%
load(path_naladi) load(path_naladi)
correlacao_completa <- correlacao_completa_naladi_naladi_ncmtracker %>% correlacao_completa <- correlacao_completa_naladi_naladi_ncmtracker |>
# naladi 1983 tem 7 ou 8 digitos. os 8 digitos da naladi 1983 surgiram em 1992. # naladi 1983 tem 7 ou 8 digitos. os 8 digitos da naladi 1983 surgiram em 1992.
# como logo em seguida veio a naladi_1993 com 8 digitos, vamos # como logo em seguida veio a naladi_1993 com 8 digitos, vamos
# descartar os codigos de 8 dígitos da naladi_1983. # descartar os codigos de 8 dígitos da naladi_1983.
# filter(nchar(naladi_1983) == 9) %>% # 9 digitos equivale a 7 digitos se contarmos os pontos # filter(nchar(naladi_1983) == 9) |> # 9 digitos equivale a 7 digitos se contarmos os pontos
distinct() %>% distinct() |>
rename_with(~str_to_upper(.x)) %>% rename_with(~str_to_upper(.x)) |>
mutate(NALADI_1983 = str_remove_all(NALADI_1983, "\\.")) %>% mutate(NALADI_1983 = str_remove_all(NALADI_1983, "\\.")) |>
mutate(NALADI_1983 = str_c( mutate(NALADI_1983 = str_c(
str_sub(NALADI_1983, 1, 2), str_sub(NALADI_1983, 1, 2),
".", ".",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment