Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/baumer-lab/fertile

creating optimal conditions for reproducibility
https://github.com/baumer-lab/fertile

r reproducibility reproducible-research tidyverse workflow

Last synced: 3 months ago
JSON representation

creating optimal conditions for reproducibility

Awesome Lists containing this project

README

        

---
output: github_document
---

```{r, echo = FALSE, message = FALSE, warning = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "README-"
)

```

```{r, include = FALSE}
library(fertile)
library(tidyverse)

miceps <- system.file("extdata/project_miceps.zip", package = "fertile") %>%
sandbox()
```

[![Travis-CI Build Status](https://travis-ci.org/baumer-lab/fertile.svg?branch=master)](https://travis-ci.org/baumer-lab/fertile)
[![Codecov test coverage](https://codecov.io/gh/baumer-lab/fertile/branch/master/graph/badge.svg)](https://codecov.io/gh/baumer-lab/fertile?branch=master)
[![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html#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

```{r badges, eval = FALSE}
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()`

```{r}
# Individual check
has_well_commented_code(miceps)
```

```{r}
# Combined checks
proj_check_badge(miceps, "documentation")
```

## Warnings For Potentially Non-Reproducible Commands

```{r, error = TRUE}
read_csv("/Users/audreybertin/Documents/fertile/project_miceps/mice.csv")
```

```{r, error = TRUE}
setwd(miceps)
```

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

$~$

Customize warning system by:

- Adding functions (`add_shim()`, `add_all_possible_shims()`)

```{r addshim, eval = FALSE}
# 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:

```{r gh-installation, eval = FALSE}
# install.packages("remotes")
remotes::install_github("baumer-lab/fertile")
```

## Citation

```{r citation}
citation("fertile")
```

The `fertile` release at the time of publication for the above citation can be found here: