R: apt-get r-cran-foo vs. install.packages ( „foo“) installieren
Frage
Wenn R Pakete zu installieren (zum Beispiel mcmcpack
in diesem Beispiel) unter Ubuntu habe ich die Wahl zwischen den folgenden zwei Methoden der Installation:
# Let the distribution's packaging system take care of installation/upgrades
apt-get install r-cran-mcmcpack
# Let R take care of installation/upgrades
install.packages("mcmcpack")
Fragen:
- Ist eine der beiden Möglichkeiten von R-Pakete zu installieren als "best practice"?
- Nehmen wir an, ich zum ersten Mal
install.packages("mcmcpack")
und späterapt-get install r-cran-mcmcpack
- sollte ich Probleme erwarten - Nehmen wir an, ich zum ersten Mal
apt-get install r-cran-mcmcpack
und späterinstall.packages("mcmcpack")
- sollte ich Probleme erwarten
Lösung
Es ist nicht so einfach wie es scheint.
-
apt-get update
ist gut, wenn und wenn-
Pakete existieren - aber es gibt nur etwa 150 oder so
r-cran-*
Pakete aus einem Pool von 2100+ Paketen auf CRAN, also eher spärliche Berichterstattung -
Pakete beibehalten werden, fehlerfrei und Strom
-
Sie sind glücklich genug, um mit den halbjährlichen Versionen von Ubuntu
-
-
install.packages()
und späterupdate.packages()
ist gut, wenn und wenn-
Sie wissen, was es braucht, integrierte Zeitabhängigkeiten zu haben (außer
r-base-dev
) installiert -
Sie nichts dagegen haben, sowie die
update.packages()
Updatesapt-get
von Hand ausgeführt wird.
-
Auf meinem Ubuntu-Rechner bei der Arbeit, gehe ich mit der zweiten Lösung. Aber weil die erste besser ist , wenn Sie genügend Deckung haben haben wir gebaut < strong> cran2deb die 2050+ binäre deb-Pakete für amd64 und i386 --- aber nur für Debian Testing zur Verfügung stellt. Das ist, was ich zu Hause.
Wie für letzte Frage, ob Sie ‚sollten Sie Probleme erwarten‘: Nein, denn R_LIBS_SITE
in /etc/R/Renvironment
gesetzt
# edd Apr 2003 Allow local install in /usr/local, also add a directory for
# Debian packaged CRAN packages, and finally the default dir
# edd Jul 2007 Now use R_LIBS_SITE, not R_LIBS
R_LIBS_SITE=${R_LIBS_SITE-'/usr/local/lib/R/site-library:\
/usr/lib/R/site-library:/usr/lib/R/library'}
Das bedeutet, dass Ihre Pakete gehen in /usr/local/lib/R/site-library
während diejenigen von apt
gehen in /usr/lib/R/site-library
verwaltet und (im Falle der Basispakete) /usr/lib/R/library
.
Hoffnung, dass stellt klar Angelegenheiten. Die r-sig-debian-Mailingliste ist ein fundiertere Ort für Fragen wie diese.
Andere Tipps
-
würde ich mit
apt-get
bester Praxis betrachten, da Sie automatisches Updates über die Standard-System-Tools bekommen. -
Mit 2 Versionen installiert könnten Sie in bekommen Situationen verwirrend. Je nach R-Setup Sie eine andere Paketversion laden könnte dann Sie erwarten - private (vielleicht veraltet) eine im Allgemeinen sein sollte zuerst geladen
-
Siehe oben.