All Projects β†’ baumer-lab β†’ fertile

baumer-lab / fertile

Licence: GPL-3.0 license
creating optimal conditions for reproducibility

Programming Languages

r
7636 projects

Projects that are alternatives of or similar to fertile

Awesome Reproducible Research
A curated list of reproducible research case studies, projects, tutorials, and media
Stars: ✭ 106 (+103.85%)
Mutual labels:  reproducible-research, reproducibility
Steppy Toolkit
Curated set of transformers that make your work with steppy faster and more effective πŸ”­
Stars: ✭ 21 (-59.62%)
Mutual labels:  reproducible-research, reproducibility
Rrtools
rrtools: Tools for Writing Reproducible Research in R
Stars: ✭ 508 (+876.92%)
Mutual labels:  reproducible-research, reproducibility
Targets
Function-oriented Make-like declarative workflows for R
Stars: ✭ 293 (+463.46%)
Mutual labels:  reproducible-research, reproducibility
Enmf
This is our implementation of ENMF: Efficient Neural Matrix Factorization (TOIS. 38, 2020). This also provides a fair evaluation of existing state-of-the-art recommendation models.
Stars: ✭ 96 (+84.62%)
Mutual labels:  reproducible-research, reproducibility
Sacred
Sacred is a tool to help you configure, organize, log and reproduce experiments developed at IDSIA.
Stars: ✭ 3,678 (+6973.08%)
Mutual labels:  reproducible-research, reproducibility
Recsys2019 deeplearning evaluation
This is the repository of our article published in RecSys 2019 "Are We Really Making Much Progress? A Worrying Analysis of Recent Neural Recommendation Approaches" and of several follow-up studies.
Stars: ✭ 780 (+1400%)
Mutual labels:  reproducible-research, reproducibility
reproducible
A set of tools for R that enhance reproducibility beyond package management
Stars: ✭ 33 (-36.54%)
Mutual labels:  reproducible-research, reproducibility
Drake
An R-focused pipeline toolkit for reproducibility and high-performance computing
Stars: ✭ 1,301 (+2401.92%)
Mutual labels:  reproducible-research, reproducibility
Drake Examples
Example workflows for the drake R package
Stars: ✭ 57 (+9.62%)
Mutual labels:  reproducible-research, reproducibility
papers-as-modules
Software Papers as Software Modules: Towards a Culture of Reusable Results
Stars: ✭ 18 (-65.38%)
Mutual labels:  reproducible-research, reproducibility
Steppy
Lightweight, Python library for fast and reproducible experimentation πŸ”¬
Stars: ✭ 119 (+128.85%)
Mutual labels:  reproducible-research, reproducibility
reprozip-examples
Examples and demos for ReproZip
Stars: ✭ 13 (-75%)
Mutual labels:  reproducible-research, reproducibility
Gtsummary
Presentation-Ready Data Summary and Analytic Result Tables
Stars: ✭ 450 (+765.38%)
Mutual labels:  reproducible-research, reproducibility
r10e-ds-py
Reproducible Data Science in Python (SciPy 2019 Tutorial)
Stars: ✭ 12 (-76.92%)
Mutual labels:  reproducible-research, reproducibility
Labnotebook
LabNotebook is a tool that allows you to flexibly monitor, record, save, and query all your machine learning experiments.
Stars: ✭ 526 (+911.54%)
Mutual labels:  reproducible-research, reproducibility
researchcompendium
NOTE: This repo is archived. Please see https://github.com/benmarwick/rrtools for my current approach
Stars: ✭ 26 (-50%)
Mutual labels:  reproducible-research, reproducibility
Reproducibilty-Challenge-ECANET
Unofficial Implementation of ECANets (CVPR 2020) for the Reproducibility Challenge 2020.
Stars: ✭ 27 (-48.08%)
Mutual labels:  reproducible-research, reproducibility
Evalai
☁️ πŸš€ πŸ“Š πŸ“ˆ Evaluating state of the art in AI
Stars: ✭ 1,087 (+1990.38%)
Mutual labels:  reproducible-research, reproducibility
Reprozip
ReproZip is a tool that simplifies the process of creating reproducible experiments from command-line executions, a frequently-used common denominator in computational science.
Stars: ✭ 231 (+344.23%)
Mutual labels:  reproducible-research, reproducibility

Travis-CI Build Status Codecov test coverage Lifecycle: stable

fertile: creating optimal conditions for reproducibility

Tools to make achieving R project reproducibility easy!

Why fertile?

  • Addresses all different reproducibility aspects in one place
  • Simple functions w/ minimal arguments
  • Minimal prior knowledge required
  • R-specific features
  • Customizable to your needs
  • Has educational features

Sample Project

miceps: variable containing path to directory containing following project:

Easily Create Reproducibility Reports

proj_badges(miceps)

 

Run Reproducibility Checks

fertile contains 16 checks on different aspects of reproducibility:

 

Run them individually or in customizable groupings, w/ proj_check(), proj_check_some(), or proj_check_badge()

# Individual check
has_well_commented_code(miceps)
#> ● Checking that code is adequately commented
#>    Problem: Suboptimally commented .R or .Rmd files found
#>    Solution: Add more comments to the files below. At least 10% of the lines should be comments.
#>    See for help: https://intelligea.wordpress.com/2013/06/30/inline-and-block-comments-in-r/
#> # A tibble: 1 x 2
#>   file_name                                                fraction_lines_comme…
#>   <chr>                                                                    <dbl>
#> 1 /var/folders/v6/f62qz88s0sd5n3yqw9d8sb300000gn/T/Rtmp3v…                  0.04
# Combined checks
proj_check_badge(miceps, "documentation")
#> βœ“ Checking for clear build chain
#> βœ“ Checking for README file(s) at root level
#> ● Checking that code is adequately commented
#>    Problem: Suboptimally commented .R or .Rmd files found
#>    Solution: Add more comments to the files below. At least 10% of the lines should be comments.
#>    See for help: https://intelligea.wordpress.com/2013/06/30/inline-and-block-comments-in-r/
#> # A tibble: 1 x 2
#>   file_name                                                fraction_lines_comme…
#>   <chr>                                                                    <dbl>
#> 1 /var/folders/v6/f62qz88s0sd5n3yqw9d8sb300000gn/T/Rtmp3v…                  0.04
#> ── Summary of fertile checks ─────────────────────────────── fertile 1.1.9003 ──
#> βœ“ Reproducibility checks passed: 2
#> ● Reproducibility checks to work on: 1
#> ● Checking that code is adequately commented
#>    Problem: Suboptimally commented .R or .Rmd files found
#>    Solution: Add more comments to the files below. At least 10% of the lines should be comments.
#>    See for help: https://intelligea.wordpress.com/2013/06/30/inline-and-block-comments-in-r/
#> # A tibble: 1 x 2
#>   file_name                                                fraction_lines_comme…
#>   <chr>                                                                    <dbl>
#> 1 /var/folders/v6/f62qz88s0sd5n3yqw9d8sb300000gn/T/Rtmp3v…                  0.04

Warnings For Potentially Non-Reproducible Commands

read_csv("/Users/audreybertin/Documents/fertile/project_miceps/mice.csv")
#> Checking for absolute paths...
#> Error: Detected absolute paths. Absolute paths are not reproducible and will likely only work on your computer. If you would like to continue anyway, please execute the following command: readr::read_csv('/Users/audreybertin/Documents/fertile/project_miceps/mice.csv')
setwd(miceps)
#> Error: setwd() is likely to break reproducibility. Use here::here() instead.

Several data-reading functions built in to fertile’s warning system:

 

Customize warning system by:

  • Adding functions (add_shim(), add_all_possible_shims())
# Add stats::write.ftable to the warning system

add_shim(func = "write.ftable", package = "stats")
  • Editing functions (edit_shims())
  • Disabling warnings for user-added functions (unload_shims())
  • Enabling warnings for user-added functions (load_shims()) β€” this is the default setting.

Installation

You can install fertile from GitHub with:

# install.packages("remotes")
remotes::install_github("baumer-lab/fertile")

Citation

citation("fertile")
#> 
#> To cite fertile in publications use:
#> 
#>   Bertin AM, Baumer BS. Creating optimal conditions for reproducible
#>   data analysis in R with 'fertile'. Stat. 2021;10:e332.
#>   https://doi.org/10.1002/sta4.332
#> 
#> A BibTeX entry for LaTeX users is
#> 
#>   @Article{,
#>     title = {Creating optimal conditions for reproducible data analysis in R with 'fertile'},
#>     author = {{Bertin} and Audrey M. and {Baumer} and Benjamin S.},
#>     journal = {Stat},
#>     volume = {10},
#>     number = {1},
#>     pages = {e332},
#>     keywords = {uality control, statistical computing, statistical process control, teaching statistics},
#>     year = {2021},
#>     doi = {https://doi.org/10.1002/sta4.332},
#>     url = {https://onlinelibrary.wiley.com/doi/abs/10.1002/sta4.332},
#>     eprint = {https://onlinelibrary.wiley.com/doi/pdf/10.1002/sta4.332},
#>     note = {e332 sta4.332},
#>     abstract = {The advancement of scientific knowledge increasingly depends on ensuring that data-driven research is reproducible: that two people with the same data obtain the same results. However, while the necessity of reproducibility is clear, there are significant behavioral and technical challenges that impede its widespread implementation and no clear consensus on standards of what constitutes reproducibility in published research. We present fertile, an R package that focuses on a series of common mistakes programmers make while conducting data science projects in R, primarily through the RStudio integrated development environment. fertile operates in two modes: proactively, to prevent reproducibility mistakes from happening in the first place, and retroactively, analyzing code that is already written for potential problems. Furthermore, fertile is designed to educate users on why their mistakes are problematic and how to fix them.},
#>   }

The fertile release at the time of publication for the above citation can be found here: https://github.com/baumer-lab/fertile/releases/tag/v1.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].