Capítulo 4 Pacotes, variáveis e funções
“Conforme você seleciona e reduz suas coisas, você se entende melhor.”
– Fumio Sasaki
Como falei no último capítulo, um pacote não é nada mais que uma caixa de ferramentas. Cada função dentro de um pacote servirá como uma ferramenta diferente, com funcionalidades diferentes. Por exemplo, a função filter()
, do pacote dplyr
, serve para você filtrar valores dentro de uma coluna. A função select()
, do mesmo pacote, serve para você selecionar apenas as colunas que você precisa dentro de um dataframe.
Agora, você sabe o que faz a função coalesce()
? Bom, você pode dizer que sim, mas você realmente a usa em todo código que você usa o dplyr
? A resposta, muito provavelmente, é que não. Então você não concorda comigo que não é necessário carregá-la?
Sempre que você carrega um pacote, seja usando o comando library()
, quanto o require()
ou outros, você não está carregando apenas as funções que vai utilizar, mas TODAS as funções de um pacote! Para o dplyr
, você vai carregar dezenas de funções que você não vai usar!
Em vez de fazer isso (que pode até mesmo bugar o seu código):
library(dplyr)
<- dataframe |>
dataframe mutate(col1 = Sys.Date() - col2) |>
filter(col1 >= 30)
Faça:
<- dataframe |>
dataframe ::mutate(col1 = Sys.Date() - col2) |>
dplyr::filter(col1 >= 30) dplyr
O mesmo vale para variáveis de datas, caminhos e funções que você declara no começo de um código. Declarar 20 variáveis e usar apenas 3 ou 4 delas não é um bom negócio. Aprenda a pegar apenas a ferramenta que você vai usar, e depois guardá-la no seu devido lugar.
Em vez de fazer isso:
<- Sys.Date()
hoje <- hoje - 1
ontem <- hoje + 1
amanha <- format(hoje, "%d")
hoje_dia <- format(hoje, "%m")
hoje_mes <- format(hoje, "%Y")
hoje_ano <- format(hoje, "%B")
hoje_mes_extenso
<- paste0("C:/users/Desktop/PASTA/", hoje_ano, "/", hoje_mes_extenso)
caminho
write.csv(x, file = paste0(caminho, "/NOME_ARQUIVO", hoje_dia, ".", hoje_mes, ".csv"))
Faça:
<- Sys.Date()
hoje
<- paste0("C:/users/Desktop/PASTA/", format(hoje, "%Y/%B"))
caminho
write.csv(x, file = paste0(caminho, "/NOME_ARQUIVO", format(hoje, "%d.%m"), ".csv"))
Veja como o seu código ficou bem mais simples e fácil de ser entendido. Use e abuse do format()
. E nada de declarar funções que você não vai utilizar!