I am using R as part of a government contract on government issued hardware. I am not an administrator of the computer although R can process and install packages. Unfortunately, updating both R and RStudio require admin permissions on my machine. That said, I am running R 3.4.3.
I am trying to use packrat to begin a new isolated project library for interchangeability and reproducibility. I have created a new project and a packages library folder. I am redirecting .libPaths() to the new library folder. I have been trying to install the packrat package first with dependencies as I would like to rely on its utilities as soon as possible.
In doing this I have been getting errors such as "ERROR: dependencies 'usethis', 'callr' are not available for package 'devtools'. These then require me to step back, find the packages that they are missing (unlisted dependencies it seems) and install those, then try again. This process has become a search for the grail. By grail, I mean the primordial first package -- that package or set of packages that once installed all subsequent packages will install without error.
Upon searching for these package installation and clean install errors, I see that basically folks with older versions of R run into this type of issue often. It would be great if the powers that be would improve backward compatibility and useability under non-admin standing. R is such a powerful tool and becoming much more widely used. However, there are many barriers to use including an extremely steep learning curve, little to no backward compatibility, and errors which quickly devolve into the deep end. A user shouldn't need to learn the inner workings of install.packages, dependencies, and package development in order to get up and running.
There are numerous contexts -- corporate systems, university systems, government, data lakes, private datasets on air-gapped systems, etc -- where admin rights and quick update adoption cannot be assumed. The assumption of near-immediate update adoption is a fatal misunderstanding between developers and users. It has and continues to greatly hamper the adoption of R and RStudio by regulated users. Developers writ large need to consider those who may still be using "outdated" systems because it is out of the user's control due to security, IT policy, or inavailability.
Here is a presentation that was given about this exact issue about the use of R and the FDA's requirements for software validity and replication of results. Unfortunately, it appears that little has changed from 2007 to now. The presenter's suggestions are still wildly applicable for R developers in relation to useRs in regulated contexts:
* ... validation, documentation, and accountability are required of sponsors relying on R.
* A public listing of validated R functions would
**be a great benefit to FDA reviewers and sponsoring
companies.
**exceed current standards - R sets the standard!