install.my.packages <- function(){
# Liste meiner favorisierten Pakete
my_packages <- c("blogdown", "bookdown",
"car",
"foreign",
"gghighlight", "ggplot2",
"haven",
"likert",
"prettyR", "psych",
"reshape", "reshape2",
"samplingbook", "scales", "statip",
"tidyverse",
"VGAM",
"xtable"
)
#--------------
# Überprüfe, ob die Pakete bereits installiert sind
not_installed <- my_packages[!(my_packages %in% installed.packages()[ , "Package"])]
# installiere solche, die noch nicht installiert sind
if(length(not_installed)) install.packages(not_installed, dependencies = TRUE)
return(paste(length(not_installed), "Pakete wurden installiert (plus dependencies)."))
}Kürzlich wurde in meiner Linux-Distribution die R-Version auf 4.1 angehoben. Das bedeutete für mich, dass ich alle Zusatzpakete neu installieren musste.
Ich habe mir daher eine Funktion in R geschrieben, die vorgegebene Zusatzpakete installiert, falls diese noch nicht installiert wurden.
Die Funktion kann dann wie folgt aufgerufen werden:
install.my.packages()[1] "0 Pakete wurden installiert (plus dependencies)."
Bei mir ist bereits alles up-to-date, so dass kein Paket installiert werden muss.
Mit einer leichten Änderung können weitere Pakete an den Parameter p übergeben werden:
install.my.packages <- function(p=""){
# Liste meiner favorisierten Pakete
my_packages <- c("blogdown", "bookdown",
"car",
"foreign",
"gghighlight", "ggplot2",
"haven",
"likert",
"prettyR", "psych",
"reshape", "reshape2",
"samplingbook", "scales", "statip",
"tidyverse",
"VGAM",
"xtable"
)
# Falls Pakete über den Parameter "p" übergeben wurden,
# füge sie der Liste hinzu
if(p!=""){
my_packages <- c(p, my_packages)
}
#--------------
# Überprüfe, ob die Pakete bereits installiert sind
not_installed <- my_packages[!(my_packages %in% installed.packages()[ , "Package"])]
# installiere solche, die noch nicht installiert sind
if(length(not_installed)) install.packages(not_installed, dependencies = TRUE)
return(paste(length(not_installed), "Pakete wurden installiert (plus dependencies)."))
}Der Funktion kann so ein Vektor weiterer Pakete übergeben werden, die zusätzlich zur vorgegebenen Liste installiert werden, falls sie noch nicht installiert sind:
install.my.packages(c("ggpubr", "qqplotr"))[1] "2 Pakete wurden installiert (plus dependencies)."
(Diese Anleitung hat es auch ins Buch geschafft)