#' Organiza metadados cpopg (apenas criminal por ora)
#'
#' @param df data.frame lido com ler_dados_cpopg
#' @param excluir_assunto informar vetor de frases a serem excluídas dos assuntos.
#' Há uma sugestão de palavras no dataset 'excluir_assuntos_cpopg'
#' @param excluir_classe informar vetor de frases a serem excluídas das classes.
#' @return data.frame limpo e organizado
#' @export
#'
organizar_dados_cpopg_tjac <- function(df, excluir_assunto = "", excluir_classe = "") {
df <- df %>%
janitor::clean_names()
# Nem todos os processos s\u00e3o distribu\u00eddos, alguns s\u00e3o recebidos,
## Juntei data da distribui\u00e7\u00e3o e recebimento num s\u00f3.
## O mesmo vale para classe vs execucao_de_sentenca vs incidente e
## para processo_principal e processo_2.
suppressWarnings({
df$na <- NA_character_
df$distribuicao <- dplyr::coalesce(df$na, df$distribuicao, df$recebido_em)
df$classe <- dplyr::coalesce(df$na, df$classe, df$execucao_de_sentenca, df$incidente)
df$processo_principal <- dplyr::coalesce(df$na, df$processo_principal, df$processo_2)
df$recebido_em <- NULL
df$processo_2 <- NULL
df$execucao_de_sentenca <- NULL
df$incidente <- NULL
df$na <- NULL
if (nrow(df) > 0) {
df <- df %>%
dplyr::mutate(
branco = dplyr::case_when(
stringr::str_detect(v1, "(?i)[\u00e1a]rea") ~ "area",
v1 == "(Tramita\u00e7\u00e3o priorit\u00e1ria)" ~ "prioritaria",
TRUE ~ "vara"
)
) %>%
tidyr::unite("v2", assunto, v1, sep = "&", remove = FALSE) %>%
tibble::rowid_to_column() %>%
tidyr::spread(branco, v2) %>%
dplyr::mutate_at(dplyr::vars(area, vara), list(~ stringr::str_remove(., "NA&"))) %>%
dplyr::mutate(vara = zoo::na.locf(vara, fromLast = T, na.rm = FALSE)) %>%
dplyr::filter(!is.na(distribuicao) | !is.na(classe) | !is.na(assunto)) %>%
dplyr::filter(!is.element(assunto, excluir_assunto)) %>%
dplyr::mutate(
data_recebimento = stringr::str_extract(distribuicao, "\\d+/\\d+/\\d+") %>%
lubridate::dmy(),
horario_recebimento = stringr::str_extract(distribuicao, "\\d{2}:\\d{2}") %>%
lubridate::hm(),
tipo_recebimento = stringr::str_extract(distribuicao, "(?<=-\\s).+"),
distribuicao = NULL
) %>%
tidyr::separate(vara, c("vara", "foro"), sep = " - ", extra = "merge") %>%
dplyr::mutate(
area = stringr::str_remove_all(v1, "(?i)(\u00c1rea|\\W+)"),
v1 = NULL
)
df <- df %>%
dplyr::filter(!is.element(classe, excluir_classe)) %>%
dplyr::mutate(rowid = NULL)
if (exists("prioritaria", df, inherits = FALSE)) {
df <- dplyr::mutate(df, prioritaria = stringr::str_remove(prioritaria, "&.+"))
}
if (exists("valor_da_acao", df, inherits = FALSE)) {
df <- dplyr::mutate(df, valor_da_acao = tjac::numero(valor_da_acao))
}
}
})
return(df)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.