Hallo Duncan Thanks for your hints, yes, the code in Rprofile.site is not executed. I am not sure, if I understood the startup mechanism correctly and I am a bit puzzled.
Fresh installation (root C:Program files, write protected) has files Rprofile.site and .Rconsole installed in its etc directory. After starting R I can see that home directory is > Sys.getenv("R_USER") [1] "\\\\srvudst01.precheza.cz\\userdata\\PikalP\\Dokumenty" .Rconsole or .Rprofile in this directory are executed but Rprofile.site located in this directory is not. After fresh R installation to set all users to have the same startup I have two options: Change Rprofile.site in ...R\etc directory Put the same .Rprofile file into R_Home directory for each user Am I right or are there any other options how to set R on startup for all users differently from factory fresh setting? Sorry for my questions, it is something I never done before but I now need to resolve it in a way which fits to our IT environment. Best regards. Petr -----Original Message----- From: Duncan Murdoch <murdoch.dun...@gmail.com> Sent: Tuesday, March 21, 2023 5:43 PM To: PIKAL Petr <petr.pi...@precheza.cz>; r-help <r-help@r-project.org> Subject: Re: [R] Rprofile.site and automatic installation of missing packages On 21/03/2023 9:58 a.m., PIKAL Petr wrote: > 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? I'd add code to print the values of x and test to confirm that things are proceeding as you expect. I don't know if print() or cat() will work there; you might need to use message(). For attaching packages, you should see ?Startup again: this is done via options() or an environment variable, not library() calls in the profile file. Duncan Murdoch > > Best regards > Petr > > -----Original Message----- > From: Duncan Murdoch <murdoch.dun...@gmail.com> > Sent: Tuesday, March 21, 2023 1:55 PM > To: PIKAL Petr <petr.pi...@precheza.cz>; r-help <r-help@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@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/ > 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/ ______________________________________________ R-help@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.