Create a Package or Research Compendium Structure.
rcompendium
In the area of open science, making reproducible analyses is a strong prerequisite. But sometimes it is difficult 1) to find the good structure to organize files and 2) to set up the whole project. The aim of the package rcompendium
is to make easier the creation of R package/research compendium (i.e. a predefined files/folders structure) so that users can focus on the code/analysis instead of wasting time organizing files.
A full ready-to-work structure will be set up with the following features:
- Initialization of version control with git.
- Creation of a minimal R package structure (
DESCRIPTION
andNAMESPACE
files, andR/
andman/
folders). - Creation of additional files (
LICENSE.md
,inst/CITATION
, etc.). - Creation of a Get started vignette in
vignettes/
(package only). - Setting the units tests process in
tests/
. - Creation of a
README.Rmd
with HexSticker (template) and badges. - Autocompletion of maintainer information.
- Initialization of the
renv
system (if required). - Creation of a Dockerfile (if required).
- Creation of a GitHub repository.
- Configuration of GitHub Actions to automatically:
- check and test package (
R CMD Check
); - report the code coverage (
covr
); - build and deploy website (
pkgdown
); - render
README.md
.
- check and test package (
This package heavily relies on the R packages devtools
and usethis
and follows recommendations made by Hadley Wickham & Jenny Bryan and Ben Marwick.
Installation
You can install the stable version from CRAN with:
## Install stable version of < rcompendium > from CRAN ----
install.packages("rcompendium")
Or you can install the development version from GitHub with:
## Install < remotes > package (if not already installed) ----
if (!requireNamespace("remotes", quietly = TRUE)) {
install.packages("remotes")
}
## Install dev version of < rcompendium > from GitHub ----
remotes::install_github("FRBCesab/rcompendium")
Note: On Unix system you may have an error during the installation linked to the V8 JavaScript engine. This software is required by the R package cffr
(included in rcompendium
). Run the following line and try to reinstall rcompendium
.
## Fix V8 issues ----
Sys.setenv(DOWNLOAD_STATIC_LIBV8 = 1)
## Install < rcompendium > ----
install.packages("rcompendium")
Usage
Please read the Get started vignette and pay attention to the sections Prerequisites and Usage
Others available vignettes:
Citation
Please cite this package as:
Casajus N. (2023) rcompendium: An R package to create a package or research compendium structure. Version 1.3, https://github.com/FRBCesab/rcompendium.
You can also run:
citation("rcompendium")
## A BibTeX entry for LaTeX users is:
##
## @Manual{,
## title = {{rcompendium}: {An} {R} package to create a package or research compendium structure},
## author = {{Casajus N.}},
## year = {2023},
## note = {R package version 1.3},
## url = {https://github.com/FRBCesab/rcompendium},
## }
Contributing
All types of contributions are encouraged and valued. For more information, check out our Contribution Guidelines.
Please note that the rcompendium
project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
Colophon
This package is the result of intense discussions and feedbacks from the training course Reproducible Research in Computational Ecology.
rcompendium
is largely inspired by the package rrtools
developed by Ben Marwick et al. and tries to respect the standard defined by the community.