Giter VIP home page Giter VIP logo

projthis's Introduction

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.

projthis's People

Contributors

ijlyttle avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.