Curso de Verão IME-USP 2024
O que vamos aprender:
O que é o RMarkdown
Como criar um documento reprodutível com RMarkdown usando R
Fonte: Conceito do ciclo de ciência de dados apresentado por Hadley Wickham no livro R for Data Science, ilustração por Allison Horst.
Criado e mantido pela RStudio
Princípio: arquivos onde escrevemos textos e marcamos com markdown
, mas também podemos adicionar códigos que são executados.
Extensão .Rmd
Possibilita a utilização de códigos R
, Python
, Markdown
, HTML
, CSS
, SQL
, e outros em um único arquivo.
É um pacote em R, portanto depende do R.
A reprodutibilidade é algo importante para o R Markdown.
A comunidade de R, e a equipe da RStudio, desenvolveram outros pacotes que integram bem com R Markdown para gerar diversos produtos de análise de dados diferentes, com arquivos .Rmd.
Criando um arquivo:
File > New File > R Markdown
Estrutura do arquivo:
Transformar o .Rmd no arquivo final
Ctrl + Shift + K
Dentro do projeto do RStudio criado, crie uma pasta chamada relatorio
.
Crie um novo arquivo RMarkdown que gera um HTML, e salve ele na pasta relatorio
. Dê o nome de primeiro_relatorio.Rmd
.
O arquivo já vem com alguns conteúdos para servir de exemplo. Observe a estrutura deste arquivo! Tente imaginar o que será gerado.
Aperte o botão knit
para gerar o resultado final. Veja o resultado: é o que você imaginou?
Faça pequenas alterações e aperte o botão knit
novamente, para ver como ficou. Sugestões:
O RMarkdown possibilita a utilização da linguagem de marcação simples Markdown. Essa linguagem de marcação foi elaborada para ser fácil de ler e fácil de escrever.
Confira as cheatsheets: rmarkdown
Cheatsheet 2.0 e rmarkdown
Cheatsheet.
O RStudio Visual Editor facilita o uso do Markdown no RStudio.
No arquivo criado, experimente marcar os textos com Markdown.
Experimente o Visual Mode Editor do RStudio.
Adicione um link no seu relatório para a página dos cursos de extensão da USP: https://cursosextensao.usp.br/
Os chunks são campos onde podemos inserir código de R (ou Python, SQL, Bash…) em um arquivo RMarkdown.
Os chunks podem ter rótulos/nomes, para identificar o conteúdo gerado.
Existe um atalho do teclado para criar chunks no RStudio: Ctrl + ALt + I
.
Também é possível criar um chunk clicando no seguinte botão do RStudio:
.Rmd
Quando usamos projetos do RStudio, o diretório de trabalho será a pasta principal do projeto.
Quando estamos trabalhando com arquivos .Rmd
, por padrão o diretório de trabalho DO ARQUIVO será a pasta onde o arquivo está localizado.
Isso gera confusão! Atenção pois isso pode causar erros. Uma dica para escrever os caminhos de forma correta é utilizar a funcionalidade do RStudio: escreva aspas, coloque o cursor entre as pastas e aperte TAB.
Exemplo prático: comparar o uso de getwd()
dentro e fora de um arquivo .Rmd
.
Para acessar arquivos em pastas que estão em um “nível” anterior ao diretório de trabalho, utilize "../"
.
primeiro-relatorio.Rmd
, crie um chunk e faça a importação da base de dados de pinguins.Lembre-se de se atentar aos caminhos!
Aperte knit
e observe o resultado. O código e o resultado deverá aparecer no relatório. Configure as opções de chunk para que apareça corretamente.
Exemplo:
A base mtcars possui 32 carros. As colunas presentes na base são mpg, cyl, disp, hp, drat, wt, qsec, vs, am, gear, e carb.
Código Markdown:
1 ) O trecho a seguir apresenta um texto com resultados feitos com inline code. Adicione o seguinte código no seu relatório (o arquivo primeiro_relatorio.Rmd
), substituindo os trechos coloridos por inline code:
A base de dados pinguins apresenta dados referente à 344 pinguins, das seguintes espécies: Pinguim-de-adélia, Pinguim-gentoo, e Pinguim-de-barbicha. Os dados foram coletados entre os anos 2007 e 2009, nas seguintes ilhas: Torgersen, Biscoe, e Dream. O peso médio dos pinguins amostrados foi de 42 kg. Os dados foram obtidos através do pacote Palmer Penguins.
knitr::kable()
, DT::datatable()
, reactable::reactable()
, entre outras.kable()
:Ela deverá ficar assim:
Espécie | Quantidade |
---|---|
Pinguim-de-adélia | 152 |
Pinguim-gentoo | 124 |
Pinguim-de-barbicha | 68 |
Total | 344 |
Adicione um gráfico no seu relatório, utilizando a base pinguins
.
Caso não tenha experiência com ggplot, um gráfico simples pode ser gerado com esse código:
O pacote rmarkdown possibilita adicionar textos e códigos em um único arquivo.
Podemos utilizar códigos em R, Python, Markdown, HTML, CSS, SQL, e outros no RMarkdown.
O uso do RMarkdown depende do uso do R.
O arquivo RMarkdown é estruturado em: YAML (metadados), textos marcados e campos de código (chamados de chunks).
Markdown é uma linguagem de marcação que possibilita marcar textos. Essa linguagem é utilizada nos arquivos RMarkdown e em muitos outros lugares.
Slides por Beatriz Milz (@BeaMilz), feito com Quarto. Código disponível no GitHub.