[R] Rprofile.site and automatic installation of missing packages

PIKAL Petr petr@p|k@| @end|ng |rom prechez@@cz
Tue Mar 21 14:58:11 CET 2023


Hallo Duncan

Tested but does not work so something other must be wrong.

R version 4.2.2.
> installed.packages()[,"Package"]
          base           boot          class        cluster      codetools       compiler       datasets        foreign       graphics      grDevices           grid     KernSmooth
        "base"         "boot"        "class"      "cluster"    "codetools"     "compiler"     "datasets"      "foreign"     "graphics"    "grDevices"         "grid"   "KernSmooth"
       lattice           MASS         Matrix        methods           mgcv           nlme           nnet       parallel          rpart        spatial        splines          stats
     "lattice"         "MASS"       "Matrix"      "methods"         "mgcv"         "nlme"         "nnet"     "parallel"        "rpart"      "spatial"      "splines"        "stats"
        stats4       survival          tcltk          tools   translations          utils
      "stats4"     "survival"        "tcltk"        "tools" "translations"        "utils"

My Rprofile.site
# Things you might want to change
options(papersize="a4")
options(help_type="html")

library(utils)
library(MASS)

#**********
test <-(scan("pack.txt", character(), quote = ""))
x<- utils::installed.packages()
utils::install.packages(test[!test %in% x], repos="https://cloud.r-project.org")

##**********

Options are set and working.
MASS should be loaded but is not

> search()
[1] ".GlobalEnv"        "package:stats"     "package:graphics"  "package:grDevices" "package:utils"     "package:datasets"  "package:methods"   "Autoloads"         "package:base"
>

Any suggestion where to look?

Best regards
Petr

-----Original Message-----
From: Duncan Murdoch <murdoch.duncan using gmail.com>
Sent: Tuesday, March 21, 2023 1:55 PM
To: PIKAL Petr <petr.pikal using precheza.cz>; r-help <r-help using r-project.org>
Subject: Re: [R] Rprofile.site and automatic installation of missing packages

?Startup says:  "Note that when the site and user profile files are sourced only the base package is loaded, so objects in other packages need to be referred to by e.g. utils::dump.frames or after explicitly loading the package concerned."

So you need utils::installed.packages and utils::install.packages .

Duncan Murdoch

On 21/03/2023 8:04 a.m., PIKAL Petr wrote:
> Dear all.
>
>
>
> I am trying to install missing (not installed) packages during startup
> of R through code in Rprofile.site but I miserably failed and I am not
> sure what I am doing wrong.
>
>
>
> R is installed to C:Program files but it is not writable for the
> users, therefore I cannot change Rprofile.site located in root etc
> directory. I however can put Rprofile.site in users home directory
> (Documents) and use it for R startup setting (partly).
>
> However I want for less experienced users to put a code here to check
> installed packages, check if some specified set of packages is
> installed and install them, but it is not working.
>
>
>
> The code in Rprofile.site is:
>
>
>
> #**********
>
> test <- scan("pack.txt", character(), quote = "")
>
> inst <- installed.packages()
>
> install.packages(test[!test %in% inst],
> repos="https://cloud.r-project.org")
>
> #**********
>
>
>
> An example of pack.txt is e.g.
>
> ggplot2
>
> zoo
>
>
>
> but the code is not executed and packages are not installed. If I use
> this code after R starts, everything is OK and packages are installed
> to
>
>
>
>> Sys.getenv("R_LIBS_USER")
>
> [1] "C:\\Users\\PikalP\\AppData\\Local/R/win-library/4.2"
>
>>
>
> The same applies if I put e.g. library(MASS) in the Rprofile.site, the
> package is not loaded but after R is live, library(MASS) loads a package.
>
>
>
> So my question is What is the best way to check after fresh R
> installation if some predefined set of packages is installed and if
> not, perform an installation without user intervention in Windows environment?
>
>
>
> S pozdravem | Best Regards
>
> Petr
>
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

Osobní údaje: Informace o zpracování a ochraně osobních údajů obchodních partnerů PRECHEZA a.s. jsou zveřejněny na: https://www.precheza.cz/zasady-ochrany-osobnich-udaju/ | Information about processing and protection of business partner’s personal data are available on website: https://www.precheza.cz/en/personal-data-protection-principles/
Důvěrnost: Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a podléhají tomuto právně závaznému prohláąení o vyloučení odpovědnosti: https://www.precheza.cz/01-dovetek/ | This email and any documents attached to it may be confidential and are subject to the legally binding disclaimer: https://www.precheza.cz/en/01-disclaimer/



More information about the R-help mailing list