[1] "/home/mude/R/x86_64-pc-linux-gnu-library/4.5"
[2] "/usr/local/lib/R/site-library"
[3] "/usr/lib/R/site-library"
[4] "/usr/lib/R/library"
introR: introdução à linguagem R
16 de outubro de 2025
renv
Quarto
Quarto
e GitHubShiny
Capacidade de recriar uma análise e obter os mesmos resultados com os mesmos dados e códigos
Por que reprodutibilidade importa?
Pilares
/data
, /R
, /output
, /scripts
renv
: fixar versões dos pacotesREADME
ou documento Quarto
Shiny
para interação on-lineTemos que especificar os pacotes necessários, suas versões e os repositórios nos quais eles estão acessíveis
Biblioteca vs pacote
[1] "/home/mude/R/x86_64-pc-linux-gnu-library/4.5"
[2] "/usr/local/lib/R/site-library"
[3] "/usr/lib/R/site-library"
[4] "/usr/lib/R/library"
Gerenciamento de pacotes
renv.lock
Por que usar renv
?
Funções
Função | Descrição |
---|---|
init() |
Inicializa renv em um projeto |
status() |
Verifica consistências entre o lockfile e a biblioteca do projeto |
snapshot() |
Registra o estado atual da biblioteca do projeto no lockfile |
restore() |
Restaura a biblioteca do projeto a partir de um lockfile |
install() |
Instala pacotes na biblioteca do projeto |
remove() |
Remove pacotes da biblioteca do projeto |
deactivate() |
Desativa temporariamente renv para o projeto |
activate() |
(Re)ativa renv no projeto |
Workflow
Sistema de bibliotecas
R
behaviourrenv
Arquivos e diretório
.Rprofile
: arquivo de perfil do projeto do RStudiorenv/
: diretório que armazena as versões dos pacotesrenv.lock
: arquivo com as versões de cada pacote para reconstruir o ambiente.
├── .Rprofile # Activate renv on project opening
│
├── renv/
│ ├── .gitignore # Ignore large renv files (e.g. packages)
│ ├── activate.R # R script to launch renv
│ ├── library/ # R packages
│ └── settings.dcf # renv settings
│
└── renv.lock
Fluxo de uso
Colaborando com renv
renv.lock
renv
no projetorenv.lock
serão instalados na biblioteca do projetoRecomendações
renv
no final do projeto para congelar seu ambiente de pacotes e depois compartilhar o renv.lock
renv/
ao .gitignore
renv.lock
Artwork by @allison_horst
Documentação de pesquisa
Registro sistemático, claro e organizado das etapas de um projeto científico, desde o planejamento até a publicação
Garante que o trabalho possa ser entendido, verificado e reproduzido por outros pesquisadores
Escrita científica
Programação Literária
Programação literária é um paradigma de programação introduzido em 1984 por Donald Knuth (LaTeX), no qual um programa de computador é apresentado como uma explicação de como ele funciona em uma linguagem natural (e.g. inglês), intercalado (embutido) com trechos de macros e código-fonte tradicional, a partir dos quais um código-fonte compilável pode ser gerado.
Conceito inicial
Implementação moderna com Quarto
Descrição
Quarto
é a nova geração do R Markdown
Software
Quarto
no terminal
Usage: quarto
Version: 1.9.2
Description:
Quarto CLI
Options:
-h, --help - Show this help.
-V, --version - Show the version number for this program.
Commands:
render [input] [args...] - Render files or projects to various document types.
preview [file] [args...] - Render and preview a document or website project.
serve [input] - Serve a Shiny interactive document.
create [type] [commands...] - Create a Quarto project or extension
use <type> [target] - Automate document or project setup tasks.
add <extension> - Add an extension to this folder or project
update [target...] - Updates an extension or global dependency.
remove [target...] - Removes an extension.
convert <input> - Convert documents to alternate representations.
pandoc [args...] - Run the version of Pandoc embedded within Quarto.
typst [args...] - Run the version of Typst embedded within Quarto.
run [script] [args...] - Run a TypeScript, R, Python, or Lua script.
list <type> - Lists an extension or global dependency.
install [target...] - Installs a global dependency (TinyTex or Chromium).
uninstall [tool] - Removes an extension.
tools - Display the status of Quarto installed dependencies
publish [provider] [path] - Publish a document or project to a provider.
check [target] - Verify correct functioning of Quarto installation.
call - Access functions of Quarto subsystems such as its rendering engines.
help [command] - Show this help or the help of a sub-command.
Multiplas saídas
Usos
Comunicação com tomadores de decisão ou público mais amplo, com foco nas conclusões, não nos códigos das análises
Colaboração com outros cientistas de dados, interessados tanto nas conclusões quanto nos códigos
Ambiente para fazer ciência de dados, como um caderno de laboratório moderno, registro do que foi feito e dos pensamentos
Funcionamento
Artwork by @allison_horst
Funcionamento
Artwork by @allison_horst
Projeto Quarto
Arquivo Quarto
(.qmd)
Arquivo Quarto
(.qmd)
Arquivo Quarto
(.qmd) - Source editor
Arquivo Quarto
(.qmd) - Visual editor
Arquivo Quarto
(.qmd) - Renderizar
Arquivo Quarto
(.qmd) - Anatomia
.qmd
) onde são inseridas as configurações do documento (formatação, data, título, autor etc.), delimitado por ---
e ---
```{r}
e ```
Arquivo Quarto
(.qmd) - Anatomia
---
title: "Hello, Penguins"
format: html
execute:
echo: false
---
## Meet the penguins
The __penguins__ data contains size measurements for
penguins from three islands in the Palmer Archipelago,
Antarctica.
The _three_ species of penguins have quite distinct
distributions of physical dimensions (@fig-penguins).
# ```{r}
#| label: fig-penguins
#| fig-cap: "Dimensions of penguins across three species."
#| warning: false
library(tidyverse, quietly = TRUE)
library(palmerpenguins)
penguins |>
ggplot(aes(x = flipper_length_mm, y = bill_length_mm)) +
geom_point(aes(color = species)) +
scale_color_manual(
values = c("darkorange", "purple", "cyan4")) +
theme_minimal()
# ```
Arquivo Quarto
(.qmd) - Anatomia
---
title: "Hello, Penguins"
format: html
execute:
echo: false
---
## Meet the penguins
The __penguins__ data contains size measurements for
penguins from three islands in the Palmer Archipelago,
Antarctica.
The _three_ species of penguins have quite distinct
distributions of physical dimensions (@fig-penguins).
#| label: fig-penguins
#| fig-cap: "Dimensions of penguins across three species."
#| warning: false
library(tidyverse, quietly = TRUE)
library(palmerpenguins)
penguins |>
ggplot(aes(x = flipper_length_mm, y = bill_length_mm)) +
geom_point(aes(color = species)) +
scale_color_manual(
values = c("darkorange", "purple", "cyan4")) +
theme_minimal()
Arquivo Quarto
(.qmd) - YAML - Formato
HTML
Word
Precisa instalar um pacote LaTeX
Arquivo Quarto
(.qmd) - Texto - markdown
Markdown
é um formato de texto simples projetado para ser fácil de escrever e, ainda mais importante, fácil de ler
Quarto
é baseado no Pandoc
e usa sua variação de markdown
como sintaxe de documento
Arquivo Quarto
(.qmd) - Texto - markdown
italic bold strikeout code
superscript2 subscript2
underline small caps
inline math: \(E = mc^{2}\)
Arquivo Quarto
(.qmd) - Código - chunk
The _three_ species of penguins have quite distinct
distributions of physical dimensions (@fig-penguins).
````{r}
#| label: fig-penguins
#| fig-cap: "Dimensions of penguins across three species."
#| warning: false
library(tidyverse, quietly = TRUE)
library(palmerpenguins)
penguins |>
ggplot(aes(x = flipper_length_mm, y = bill_length_mm)) +
geom_point(aes(color = species)) +
scale_color_manual(
values = c("darkorange", "purple", "cyan4")) +
theme_minimal()
````
Arquivo Quarto
(.qmd) - Código - chunk
Galeria
Quarto
e GitHub
Podemos hospedar gratuitamente as saídas do Quarto
de forma on-line no GitHub
Repositório > Settings > Pages > GitHub Pages
Descrição
Exemplo
Slides por Maurício Vancine, feitos com Quarto. Código disponível no GitHub.