R: apt-get install r-cran-foo vs. install.packages ( “foo”)
Domanda
Quando si installano pacchetti R (diciamo mcmcpack
in questo esempio) sotto Ubuntu ho la scelta tra i due seguenti metodi di installazione:
# 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")
Domande:
- è uno qualsiasi dei due modi per installare pacchetti R considerati "best practice"?
- Si supponga che ho
install.packages("mcmcpack")
e poiapt-get install r-cran-mcmcpack
-? Devo aspettarmi problemi - Si supponga che ho
apt-get install r-cran-mcmcpack
e poiinstall.packages("mcmcpack")
-? Devo aspettarmi problemi
Soluzione
Non è così facile come sembra.
-
apt-get update
è buona se e quando-
Pacchetti esistono - ma ci sono solo circa 150 o giù di lì pacchetti
r-cran-*
su un pool di 2100+ pacchetti su CRAN, la copertura in modo piuttosto scarsa -
pacchetti sono mantenuti, privo di bug e la corrente
-
si è abbastanza soddisfatti con i rilasci semestrali di Ubuntu
-
-
install.packages()
eupdate.packages()
poi è buona se e quando-
si sa cosa ci vuole per avere dipendenze a tempo costruito (oltre
r-base-dev
) installato -
non vi dispiace in esecuzione
update.packages()
a mano, così come gli aggiornamentiapt-get
.
-
Sulla mia macchina Ubuntu al lavoro, vado con la seconda soluzione. Ma poiché il primo è meglio se si dispone di sufficiente copertura , abbiamo costruito < strong> cran2deb che fornisce 2050+ pacchetti binari deb per amd64 e i386 --- ma solo per Debian testing. Questo è ciò che uso a casa.
Per quanto riguarda l'ultima domanda se si 'dovrebbe aspettare difficolta': No, perché R_LIBS_SITE
occupa /etc/R/Renvironment
di essere
# 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'}
Il che significa che tuo pacchetti vanno in /usr/local/lib/R/site-library
, mentre quelli gestiti da apt
andare in /usr/lib/R/site-library
e (nel caso di pacchetti base) /usr/lib/R/library
.
La speranza che chiarisca le questioni. La mailing list r-sig-debian è un luogo più informato per le domande di questo tipo.
Altri suggerimenti
-
Mi piacerebbe considerare l'utilizzo di
apt-get
migliori pratiche in quanto si ottengono gli aggiornamenti automatici attraverso gli strumenti di sistema standard. -
Avendo 2 versioni installate potrebbe ottenere in confondendo situazioni:. A seconda della configurazione R è possibile caricare un'altra versione del pacchetto quindi ci si aspetta - Your Private (forse obsoleto) si dovrebbe essere generale in carica prima
-
Vedi sopra.