2010-01-31 18 views
25

Quando si installano pacchetti R (ad esempio mcmcpack in questo esempio) sotto Ubuntu ho la scelta tra i seguenti due metodi di installazione:R: apt-get install r-cran-foo vs. install.packages ("foo")

# 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"?
  • Supponiamo che io sia il primo install.packages("mcmcpack") e successivamente il apt-get install r-cran-mcmcpack - devo aspettarmi dei problemi?
  • Supponiamo che io sia il primo apt-get install r-cran-mcmcpack e successivamente il install.packages("mcmcpack") - dovrei aspettarmi dei problemi?

risposta

28

Non è così facile come sembra.

  • apt-get update è buono se e quando esistono

    • pacchetti - ma ci sono solo circa 150 o giù di lì r-cran-* pacchetti su un pool di 2100+ pacchetti su CRAN, la copertura in modo piuttosto rada

    • pacchetti sono mantenuti, privo di bug e la corrente

    • si sono abbastanza soddisfatti del bi rilasci -annual di Ubuntu

  • install.packages() e successivamente update.packages() è buona se e quando

    • sai cosa ci vuole per avere dipendenze a tempo costruito (oltre r-base-dev) installati

    • non ti dispiace eseguire update.packages() a mano così come gli aggiornamenti apt-get.

Sulla mia macchina Ubuntu al lavoro, vado con la seconda soluzione. Ma poiché il primo è migliore se hai una copertura sufficiente, abbiamo creato cran2deb che fornisce pacchetti binari deb + 2050 per amd64 e i386 --- ma solo per i test Debian. Questo è quello che uso a casa.

Per quanto riguarda l'ultima domanda se si 'dovrebbe aspettare difficolta': No, perché R_LIBS_SITE occupa /etc/R/Renvironment per 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'} 

che significa che tuoi 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 di base) /usr/lib/R/library.

La speranza che chiarisce le cose. La mailing list r-sig-debian è un posto più informato per domande come questa.

+0

Dirk, odio rendere questa una domanda stand alone ... Perché alcuni pacchetti (ad esempio RODBC) possono essere installati solo utilizzando il metodo apt-get install? –

+0

Dove? Come? Quando? Quale piattaforma? Sentitevi liberi di mandare una e-mail a r-sig-debian, questo è ciò che abbiamo per (nonostante sia un fanboy-ismo). –

+0

Ti è semplicemente mancato il pacchetto di sviluppo odbc, ecc.? Bene, questo sarebbe _perché_ abbiamo iniziato a fornire questi. RODBC era in realtà uno dei primi che ho impacchettato ... –

4
  • mi piacerebbe prendere in considerazione utilizzando apt-get migliori pratiche in quanto si ottengono gli aggiornamenti automatici attraverso gli strumenti di sistema standard.

  • Avere 2 versioni installate potrebbe metterti in situazioni di confusione: a seconda del tuo setup di R puoi caricare un'altra versione del pacchetto che ti aspetti - il tuo privato (magari obsoleto) dovrebbe in genere essere caricato per primo.

  • Vedere sopra.

+0

o vedere la risposta di Dirk per l'intera storia –

Problemi correlati