Skip to content

Lightweight Framework for Analysis Development

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md
Notifications You must be signed in to change notification settings

ijlyttle/projthis

Repository files navigation

projthis

Lifecycle: experimental R build status Codecov test coverage

The projthis package offers a framework for analysis-based project workflows. You can use it to:

  • manage the dependencies among files in your workflows; projthis provides tools to support a directory structure and a naming convention.

  • manage your project’s package-dependencies; projthis helps you use a DESCRIPTION file.

  • automate the rendering of your workflow using GitHub Actions; projthis provides a template for an Action.

The getting-started article provides a bottom-up treatment of what this package does; for a top-down overview, see the design-philosophy article.

To see the projthis framework in action, here’s a repository that puts it to use.

Installation

You can install the GitHub version of projthis with:

# install.packages("remotes")
remotes::install_github("ijlyttle/projthis")

Acknowledgments

There is precious little original to this package, which is a good thing. This package rests heavily on the foundation laid by RStudio’s usethis package, and also relies on their renv, desc, remotes, and actions packages. Of course, the gold-standard for managing dependencies within a workflow is William Landau’s drake, now superseded by targets. For managing package-dependencies, you may also be interested in ThinkR’s attachment package.

The idea to put some structure on analysis development in R is not new:

  • I learned the term “analysis development” from Hilary Parker, who has published a pre-print, and given an rstudio::conf() presentation on the topic.

  • Jenny Bryan has long been an advocate for more-humane organization of R workflows. Perhaps her most famous “hot take” is included in this blog post, which has served as a foundation for this work.

  • Sharla Gelfand has discussed her implementation in a blog post and an rstudio::conf() presentation.

  • As well, Emily Reiderer discussed her approach in a blog post and an rstudio::conf() presentation.

  • Steph Locke and Maëlle Salmon offer the starters package, to help you set up R projects for a variety of use cases.

Code of Conduct

Please note that the projthis project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

About

Lightweight Framework for Analysis Development

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Languages