Por favor, considere a seguinte tabela encontrada em um arquivo PDF:
Posso baixar e extrair a tabela com o seguinte código:
url <- "https://www.fenabrave.org.br/portal/files/2023_01_2.pdf"
download.file(url, 'cars.pdf', mode="wb")
library(tabulapdf)
df <- extract_tables(
'cars.pdf',
pages = 27,
area = list(c(126.4826, 96.5997, 782.1684, 297.9600)),
guess = FALSE)
bind_rows() |>
set_names(c("Model","Quantity"))
Infelizmente, a função lê as quantidades como um tipo double e remove todos os zeros no final.
Posso adicionar o seguinte código para alterar sua classe:
df <- extract_tables(
'cars.pdf',
pages = 27,
area = list(c(126.4826, 96.5997, 782.1684, 297.9600)),
guess = FALSE) |>
bind_rows() |>
set_names(c("Model","Quantity"))|>
mutate(Quantity = gsub("\\.", "", Quantity))|>
mutate(Quantity = as.integer(Quantity))
Mas o estrago já está feito: 2.830 virou 283; 1.220 virou 122.
Existe uma maneira de fazer com que os dados sejam lidos como char?