knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
R Analysis Packages are an extension of the standard R package layout designed to support publishing a collection of R notebooks used for data analysis as static html, typically using GitHub Pages.
R Notebooks include a YAML header and
R Markdown body. The Analysis Package Layout follows the
convention that the first non-blank line in the body of an R notebook serves as a brief description
of the work. rdev
includes an "Analysis Notebook" RStudio R Markdown template (File > New File >
Rmarkdown > From Template) and a README.Rmd
template optionally installed with
use_analysis_package()
that dynamically builds a list of notebooks and descriptions when
devtools:build_readme()
is run.
Starting in version 1.8.0, rdev also supports publishing Analysis Notebooks using
Quarto as an alternative to the original use_analysis_package()
.
rdev versions 1.10.2 and newer also support use of Quarto Documents (.qmd
) for Analysis Notebooks,
although RStudio currently doesn't support
.qmd
files as document templates.
The table below documents the complete R Analysis Package layout:
Path | R | g | Function
:------------------------|:--|:--|:-----------------------------------------------------------------------------------------------------------------------------------------------------
.Rbuildignore | |x
| Files excluded from the package, sorted using sort_rbuildignore()
.RData | | | Saved workspace - not used
.Rhistory | | | R command history
.Rprofile | |x
| Used by renv
and to attach development tools and set project options
.Rproj.user | | | RStudio local project files
.git | | | git version control
.github | |x
| GitHub templates and workflows
.gitignore | |x
| git exclusions based on GitHub R. Generated files outside of docs
(used by GitHub Pages) are excluded.
.lintr | |x
| lintr configuration as described in the Style Guide, vignette("style-guide")
.nojekyll | |x
| Disable Jekyll processing on GitHub Pages
.quarto | | | Used by Quarto
DESCRIPTION |x
|x
| Package metadata. Use "Suggests" for development tools, per renv
LICENSE |x
|x
| Generated with usethis::use_mit_license()
LICENSE.md | |x
| See above, used by pkgdown and Quarto
NAMESPACE |x
|x
| Automatically generated with roxygen2
NEWS.md |x
|x
| Release notes, used by get_release()
, pkgdown and Quarto
R |x
|x
| All project functions go here, with roxygen2 comments
README.Rmd | |x
| Generated with usethis::use_readme_md()
or rdev template
README.md |x
|x
| Generated with devtools::build_readme()
TODO.md |x
|x
| To-do list, inspired by renv's historical TODO.md
_freeze | |x
| Used by the Quarto freeze
option
_pkgdown.yml | |x
| pkgdown metadata, stored in the project root to make it more discoverable (not used with Quarto)
_quarto.yml |x
|x
| Quarto configuration file
analysis |x
|x
| Exploratory data analysis in R Notebooks, R Presentations, and Quarto documents. Include functions from the R directory using library()
, not source()
.
analysis/_metadata.yml |x
|x
| Quarto directory configuration file
analysis/assets |x
|x
| External assets (images, other files) included in R Notebooks
analysis/data |x
|x
| Used to store small data sets used for analysis and exported data as csv
files
analysis/import | | | Used for local storage of large data sets
analysis/rendered | | | Manually rendered versions of analysis/
files to be included in docs/
, like .Rpres files
changelog.qmd |x
|x
| Quarto front-end to NEWS.md
demos |x
| | Not used, as recommended by R Packages
docs | |x
| Used by build_analysis_site()
and build_quarto_site()
to render the R Package and Notebooks for GitHub Pages
exec |x
| | Command line executable scripts - not used
index.qmd |x
|x
| Quarto home page, using the listing page format
inst |x
|x
| Installed files: templates and WORDLIST
inst/bin |x
|x
| Used for shell scripts that support development, like setup-r
inst/rmarkdown/templates |x
|x
| R Markdown Templates
man |x
|x
| Automatically generated with roxygen2
package.Rproj | |x
| Use the same name for the package, .Rproj, directory, and GitHub repository
pkgdown | |x
| Store all pkgdown files here (not used with Quarto)
po |x
|x
| Used for Internationalization if needed
renv | |x
| Used by renv
renv.lock | |x
| renv lockfile
tests |x
|x
| Tests using testthat and spelling
tools |x
| | Auxiliary files needed for building packages - not used
vignettes |x
|x
| Package vignettes and articles, written in R Markdown
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.