Updating R version while maintaining reproducibility of code

In short, I want to update R and RStudio without making my RMarkdown scripts no longer reproducible.

My main problem seems to be that packages must be updated when you install a new version of R. I have read about the renv package for dealing with keeping track of different packages across projects, but I am not sure how this will cope with a new version of R. I also can't work out how renv deals with different versions of the same package if it points to a shared cache across project libraries (e.g. if two projects use different versions of dplyr but both point to the same cache).

I have also looked into Docker, but can't find anything that explains it at the right level for me and shows how it works in practice.

Background:

  • I am working on my own private computer as opposed to a shared server
  • Current version of R = 3.6.1 (2019-07-05)
  • Current version of RStudio = 1.2.1541
  • I mostly work using RStudio projects and create RMarkdown scripts

Does anyone have advice on what I should do here? Furthermore, what order would be best?

If I were to try now, I would use renv to create snapshots all of my project libraries, get that on Github, then install the new version of R, followed by the new version of RStudio.

each project would specify in its ren.lock what version should be used.
these would both exist in the shared cache, and renv makes the appropraite one available per project.

If I were to try now, I would use renv to create snapshots all of my project libraries, get that on Github, then install the new version of R, followed by the new version of RStudio.

That sounds good but, I havent upgraded to 4 yet myself.

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.