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)
::write_csv(iris, "iris.csv")
readr::write_csv2(iris, "iris2.csv") readr
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()
.
<- tibble(
participantes 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)
)
::write_rds(participantes, "participantes.rds")
readr# salvando um vetor
<- c(1, 3, 5)
meu_vetor 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
:
::write_xlsx(iris, "iris.xlsx") writexl
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
- Escolha qualquer dataframe já trabalhado até agora e escreva-o em csv.