[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
renvQuartoQuarto e GitHubShinyCapacidade 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, /scriptsrenv: fixar versões dos pacotesREADME ou documento QuartoShiny 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.lockPor 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 behaviour
renvArquivos 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.lockrenv 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.lockrenv/ ao .gitignorerenv.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.
