Created
October 1, 2024 23:33
-
-
Save jtrecenti/6547356fe2289a41ed5ca2930705ea6c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
library(tidyverse) | |
link_dados <- "https://github.com/jtrecenti/main-cdad2/releases/download/data/camaras.csv" | |
camaras <- read_csv(link_dados) | |
glimpse(camaras) | |
camaras$ementa[2] | |
# analise exploratoria ---------------------------------------------------- | |
camaras |> | |
filter( | |
!decisao %in% c("Punibilidade Extinta", "Outros", "Não conhecido") | |
) |> | |
count(decisao, sort = TRUE) | |
camaras |> | |
count(camara) |> | |
print(n = 100) | |
camaras |> | |
count(camara) |> | |
View() | |
# "str.contains" | |
camaras |> | |
filter(str_detect(camara, "Extraord")) |> | |
count(camara) | |
# usando a função regex | |
camaras |> | |
filter(str_detect(camara, regex("extraord", ignore_case = TRUE))) |> | |
count(camara) | |
camaras |> | |
filter(str_detect(camara, "[Ee]xtraord")) |> | |
count(camara) | |
camaras |> | |
filter(str_detect(camara, "Extraord") | str_detect(camara, "extraord")) |> | |
count(camara) | |
camaras |> | |
mutate(camara = str_to_upper(camara)) |> | |
filter(str_detect(camara, "EXTRAORD")) |> | |
count(camara) | |
camaras_filtrado <- camaras |> | |
filter( | |
!decisao %in% c("Punibilidade Extinta", "Outros", "Não conhecido"), | |
!str_detect(camara, "[Ee]xtraord") | |
) | |
camaras_filtrado |> | |
count(camara, decisao) |> | |
group_by(camara) |> | |
mutate(prop = n/sum(n)) |> | |
ungroup() | |
camaras_filtrado |> | |
count(camara, decisao) |> | |
mutate(prop = n/sum(n), .by = c(camara)) | |
# funções do stringr ------------------------------------------------------ | |
str_length("asdasdl") | |
nchar("asdasdl") | |
str_detect("lalala", "la") | |
grepl("la", "lalala") | |
# mais usadas pelo julio | |
str_detect("lalala", "la") | |
str_extract("banana", "na") | |
camaras_filtrado |> | |
mutate( | |
numero_camara = str_extract(camara, "[0123456789]") | |
) | |
camaras_filtrado |> | |
mutate( | |
numero_camara = str_extract(camara, "[0-9]{2}") | |
) |> | |
select(camara, numero_camara) | |
camaras_filtrado |> | |
mutate( | |
numero_camara = str_extract(camara, "[\\d]{2}") | |
) |> | |
select(camara, numero_camara) | |
str_extract_all("352374", "[0-9]") | |
str_replace("Banana", "anana", "atata") | |
str_replace("12345", "[0-9]", "a") | |
# parse_number do pacote readr é melhor | |
str_replace("R$ 12.345,27", "R\\$ ", "") |> | |
str_replace("\\.", "") |> | |
str_replace(",", ".") |> | |
as.numeric() | |
parse_number( | |
"R$ 12.345,27", | |
locale = locale(grouping_mark = ".", decimal_mark = ",") | |
) | |
str_replace_all("12345", "[0-9]", "8") | |
str_remove("12.345", "\\.") # equivalente a str_replace(x, rx, "") | |
str_remove_all() | |
camaras_filtrado |> | |
glimpse() | |
camaras_filtrado |> | |
count(assunto) |> | |
print(n = 1000) | |
camaras_filtrado |> | |
mutate( | |
elem1 = str_extract(assunto, "[^-]+"), | |
elem1 = str_trim(elem1) | |
) |> | |
select(elem1, assunto) | |
## experimentos | |
# str_extract("DIREITO PENAL - ", "[^-]{1,100}") | |
# str_extract("DIREITO PENAL - ", "[^-]{1,}") | |
# str_extract("DIREITO PENAL - ", "[^-]+") | |
# str_extract( | |
# c("DIREITO PENAL - ", "DIREITO PROCESSUAL PENAL - "), | |
# "[^-]+" | |
# ) | |
## str_trim vs str_squish | |
str_trim(" banana ") | |
str_trim(" ba na na ") | |
str_squish(" ba na na ") | |
# padronizam strings | |
str_pad() | |
dados_exportar <- tibble( | |
id = 1:2, | |
txt = paste(camaras_filtrado$ementa, collapse = "") | |
) |> | |
mutate( | |
truncado = str_trunc(txt, 1000) | |
) | |
dados_exportar$truncado[1] | |
writexl::write_xlsx(dados_exportar, "teste.xlsx") | |
dados_exportar$txt |> str_length() | |
# str_trunc() | |
c("1", "2", "3", "4", "10") |> | |
sort() | |
str_pad(c("1", "2", "3", "4", "10"), width = 2, side = "left", pad = "0") |> | |
sort() | |
# um pouco de miscelânea | |
str_split( | |
c( | |
"0001345-21.2018.8.26.0535", | |
"0064728-75.2015.8.26.0050" | |
), | |
"[-.]" | |
) | |
# considerar tidyr::separate() | |
abjutils::rm_accent("áááá") | |
abjutils::rm_accent( | |
camaras_filtrado$ementa[1] | |
) | |
abjutils::rm_accent | |
stringi::stri_trans_general("AÁááçççâñü", "Latin-ASCII") | |
# eu não uso, mas quem sabe você | |
paste("asda", "333") | |
paste0("asda", "333") | |
paste(c("asda", "333"), collapse = "|") | |
str_c("asda", "333") | |
str_c(c("asda", "333"), collapse = "|") | |
tibble( | |
casa = 1:4, | |
apt = 2:5 | |
) |> | |
rename(caza = casa) | |
tibble( | |
casa = 1:4, | |
apt = 2:5, | |
assado = 3:6 | |
) |> | |
rename_with( | |
\(x) str_replace_all(x, "s", "z"), | |
c(casa, assado) | |
) | |
# expressões regulares ---------------------------------------------------- | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment