4 ms·
I know of two other existing solutions to this, although I don't know enough to compare. I don't think either of these tick all the author's boxes. Microsoft M
by GlennS 6y ago
I know of two other existing solutions to this, although I don't know enough to compare. I don't think either of these tick all the author's boxes.
Microsoft MRAN https://mran.microsoft.com/ https://mran.microsoft.com/
> For the purpose of reproducibility, MRAN hosts daily snapshots of the CRAN R packages and R releases as far back as Sept. 17, 2014.
MRAN doesn't seem to be very well known or used in the R community, but I don't really know why?
Separately, Nix https://nixos.org/ https://nixos.org/ also solves this problem for lots of different languages, but is difficult to get started with and still a bit rough around the edges. Probably not a good recommendation for a typical analyst or academic at this point.
- chalst 6y agoThe article discusses MRAN in footnote 5, when arguing against the MRAN-based 'checkpoint' approach. Nixpkg/Nixos is obviously a useful technology for reproducibility, but note that the output of Nix scripts can depend on the time the system was built, the contents of URLs and the system architecture unless care is taken.
- GlennS 6y agoSo it does, I missed that!
- myWindoonn 6y agoThis is misleading; empirically, nixpkgs is about 99% [0] reproducible already. We know that the main variance is between language-specific behaviors; Python, Rust, and C all are prone to reproducibility problems. In general, we want the output to depend on the system architecture and the contents of URLs. Nix uses hashes to require that URL contents don't change over time, which protects from those contents changing arbitrarily. [0] https://r13y.com/ https://r13y.com/
- chalst 6y agoThe current community around NixOS and Nixpkgs handles these issues just fine, but if 'just use Nix' was regarded as a magic bullet for reproducibility in science, I'm guessing it wouldn't work out so well.
- myWindoonn 6y agoFortunately, "just use Nix" doesn't do much on its own. People usually want GCC or another complete C toolchain, a C standard library, etc. and this implies that they will use nixpkgs or one of its forks. If people try to "just use Nix" in anger, then they will almost certainly be funneled into using nixpkgs as a matter of practice. The main problem with reproducibility in science is that most scientists are not actually interested in doing science. Of course software will not fix this problem.
- warlog 6y agoIt looks like this is much more fine grained compared to mran, i.e., with groundhog, you select the date vs with mran where you use the last (often > year old) snapshot. mran is a great idea and if Rstudio (the defacto gate-keepers of the faith -- with Hadley the high priest) pushed to use mran, then the R community would follow suit (like they do for everything else). This would do a lot to bring MS into the fold, which would actually be great for R.
- Hansi 6y agoHadley works for RStudio, RStudio now have their own MRAN type mirror: https://packagemanager.rstudio.com/client/#/ https://packagemanager.rstudio.com/client/#/
- kgwgk 6y agoThey have their own package management library https://rstudio.github.io/packrat/ https://rstudio.github.io/packrat/ and sell their own package management product https://rstudio.com/products/package-manager/ https://rstudio.com/products/package-manager/
- jsmith99 6y agoMRAN takes daily snapshots, and is the repository powering this new package.
- _Wintermute 6y agoMRAN has saved my bacon more than once when I need to replicate some R environment written years ago. The package management in R really is terrible.