How to use archivist

to boost reproducibility

Przemyslaw Biecek

useR 2016

What and why?

Everything in R is an object


What if we store all R objects that have been ever created?


Goals for the archivist package:

  • keep trace of (every) created object,
  • keep trace of relations between objects,
  • keep meta-information/properties of objects,
  • provide a way to seek objects that match some conditions,
  • provide a way to restore specific objects.

What the archivist is doing?


The archivist is an R package for management of R objects outside R session. It stores binary copies of R objects in rda files and provides easy access for seeking and restoring these objects based on timestamps, classes or other properties


But, why anybody would like to store copies of all R objects?

Example 1: archivist + knitr

Enrich knitr reports with hooks for selected objects. Example.

>archivist::aread(“pbiecek/Eseje/arepo/e10f9d223df408fca73ea548456493f4”)

Example 2: archivist + shiny

Enrich shiny applications with hooks to displayed plots. Example.