9 Escrevendo dados

Já na fase final da sua análise, pode ser que apareça a necessidade de gerar-se arquivos: gráficos, relatórios, planilhas, pdf, arquivos de dados etc.

Da mesma forma que você consome dados e relatórios, talvez você precise produzir e divulgar dados e relatórios para outras pessoas analisarem, ou mesmo para publicação.

9.1 Escrevendo csv

O formato mais básico e mais utilizado, mundialmente, para envio e recebimento de dados entre instituições é o csv. Escrever um arquivo de dados em csv é muito simples. Dentre as opções, recomenda-se usar as funções de escrever dados do pacote readr.

A diferença as funções read_csv() ou write_csv() e read_csv2() e write_csv2() é que as primeiras usam vírgula como delimitador de colunas e ponto como separador de decimais, já as duas últimas usam ponto e vírgula e vírgula, respectivamente.

data(iris)
readr::write_csv(iris, "iris.csv")
readr::write_csv2(iris, "iris2.csv")

9.2 Rds

Objetos rds são arquivos próprios do R e servem para salvar em arquivo local qualquer tipo de estrutura de dados, mantendo sempre todas as propriedades do objeto original. Arquivos rds podem ser salvos com a função write_rds(), do pacote readr. Para importar um arquivo rds, basta usar readr::read_rds().

participantes <- tibble(
  Nome = c('Carlos', 'Maurício', 'Ana Maria', 'Rebeca', 'Patrícia'),
  Estado = c('Brasília', 'Minas Gerais', 'Goiás', 'São Paulo', 'Ceará'),
  Idade = c(23, 24, 22, 29, 28)
)

readr::write_rds(participantes, "participantes.rds")
# salvando um vetor
meu_vetor <- c(1, 3, 5)
write_rds(meu_vetor, "vetor.rds")

9.3 Escrevendo outros tipos de arquivos

Outra forma bastante importante de escrever dados é em planilhas: o famoso Excel. Recomendamos o conhecimento do pacote openxlsx. É um pacote que lê e escreve arquivos Excel sem nenhuma dependência de Java, que pode acabar dando muita dor de cabeça para manter e normalmente consome bastante memória. Para Windows, o openxlsx precisa do Rtools: https://cran.r-project.org/bin/windows/Rtools/. Recomendamos a experiência com este pacote, pois com ele é possível a criação de planilhas bem acabadas, com cores e formatações complexas.

Um outro pacote para escrever arquivos em Excel, mais simples que o openxlsx, é o writexl:

writexl::write_xlsx(iris, "iris.xlsx")

Outra forma de escrita de dados é utilizando o RMarkdown, mas este formato merece um capítulo específico para detalhar seu uso.

9.4 Exercícios

  1. Escolha qualquer dataframe já trabalhado até agora e escreva-o em csv.