This package has a simple aim of being a project directory generator (prodigenr), with a simple focus on:
This standardized approach to how a scientific project is structured helps ensure that the final code and documents are fairly modular, self-contained, easy to share and make public, and be as reproducible as possible. The structure also makes use of the existing and established applications and workflows (RStudio, devtools, and usethis).
You can install the released version of prodigenr from CRAN with:
install.packages("prodigenr")
And the development version from GitHub with:
# install.packages("pak")
pak::pak("rostools/prodigenr")
There are two ways of creating a new project: using the R console or using the RStudio “New Project” menu option.
Through the console, use the setup_project()
command. So, for instance, if you want a manuscript project, type out:
library(prodigenr)
setup_project("~/Desktop/DiseaseDiet")
This then creates a directory tree, with template files for starting your analysis! Open the newly created project via the .Rproj
file. For the RStudio approach, go to “File -> New Project”, then “New directory” and find the prodigenr project in the list:
Once in the project, you can add a manuscript/report Quarto file using:
The main secondary function is the template_list
command, which lists the available template files:
template_list
#> [1] "report" "slides"
For a more detailed tutorial, see the introduction vignette:
vignette('prodigenr', 'prodigenr')
There are several existing packages for creating projects, each of which has it’s own pros and cons. Check out the last section of the vignette("prodigenr")
for more details. Try them out and see which you like!
prodigenr tries to use ideas from R packages/devtools while still being as simple as possible and to be more specific to academic researchers primarily in biomedical/non-computer science fields. However, it can always improve! I welcome any suggestions, just submit a GitHub issue.
See the contributing documentation for information on how to contribute. Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Special thanks to @zsemnani for creating the logo!