Giter Site home page Giter Site logo

reproduciblething's Introduction

reproduciblething

A template for reproducible manuscripts with R

reproduciblething aims to set in place the following tools for setting up a practically reproducible manuscripts:

  • renv: Ensure a reproducible R package environment
  • environment variables
    • To handle e.g. expensive computations do not prevent evaluation of reproducibility
  • Reasonable but non-restrictive template(s) for data analyses and outputs

Requirements

  • Everything required to run renv::restore() in R on a computer
  • (Optional) RStudio
  • (Optional) Quarto
  • (Optional) GNU Make
    • Included in Linux & MacOS but not Windows

What's in the template?

I assume that the end product you want is an academic manuscript or something similar. This template then provides

  • renv
  • Makefile
  • .Renviron.example
  • apaquarto template

When these are set up, make goes from 0 to manuscript.pdf/docx/html?

[todo]: Does this even need a new template? Well I always end up fiddling with the Makefile and loading relevant variable in source. I guess I want to make this for myself so that the author info is prefilled?

Use

tbd

Maybe as a quarto extension with quarto use mvuorre/reproduciblething this has the benefit of also working with clone / download on GitHub.

Motivation

Full reproducibility is not possible because we cannot ask others to build DIY computers that run code or power plants that produce electricity. What we can achieve is practical reproducibility: Assuming some common tools are already in place, clients (end-users) can build the project with minimum fuss.

One might propose that the gold-standard for achieving practical reproducibility is Docker. However, developers (initial analysts, original authors) do not know Docker and learning and using it consistently is associated with overheads that are too expensive for most developers. I (MV) feel similarly about the targets R package.

The vision for practical reproducibility in this template is then based on the "Do not let perfect be the enemy of the good" mantra.

reproduciblething's People

Contributors

mvuorre avatar

Stargazers

 avatar Johannes Breuer avatar

Watchers

 avatar  avatar

reproduciblething's Issues

Continuous integration / GH actions

This needs a CI / GitHub action to test reproducibility.

Optimally it would resemble a real data analysis / manuscript with heavy computations with something like a dev flag to downscale computation via sample size / iterations etc. Must ensure that it works from a blank slate renv::restore() to (e.g.) make / quarto render.

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.