Per rispondere, devo dare un po 'di contesto.
Per motivi di riproducibilità, provo a scrivere script, compresa la mia intera configurazione R. Ho uno script "initializeR.r" che, tra le altre cose, installa pacchetti, e ho organizzato pacchetti in bundle, come quelli relativi alla cache, quelli relativi alla visualizzazione, campionamento, statistiche spaziali, ecc. - il mio piccolo viste di attività, se vuoi.
Per esempio, ecco un frammento:
# Profiling & testing
Packages$CodingTools = c("codetools","debug", "profr","proftools","RUnit")
combino alcuni dei fasci in un pacchetti "importanti" (o primario) lista e altri vanno nella lista "Secondario". Sono sicuro di installare tutto sulla lista primaria - questi sono necessari per avere un ambiente R ragionevole, per usare i miei script, funzioni e pacchetti, ecc. (A proposito, alcuni pacchetti sono assegnati a più bundle, ma solo a pochi; I de-dupe prima di elaborare un elenco aggregato.)
Quindi specificare una libreria predefinita specifica della piattaforma e installare lì. Tuttavia, questa capacità è estendibile e questa idea può essere estesa per includere posizioni opzionali per ciascun pacchetto (o pacchetto): basta mappare dal nome del bundle, ad es. "CodingTools" in una directory univoca (percorso della libreria), pronunciare "D:/R/Library/CodingTools". Questo può essere fatto nello script di inizializzazione, con gli elenchi corrispondenti & opzioni predefinite, o le posizioni possono essere memorizzate altrove, come una tabella hash, JSON o un database.
Come altri hanno già detto, i percorsi di libreria predefiniti devono essere comunicati a R. Ciò può essere fatto in .RProfile.site. Nel mio caso, ho un altro script che viene utilizzato per inizializzare l'istanza R come mi piacerebbe. Cerco di evitare i file di parametri esterni che vengono letti da R (ad esempio .Rprofile), e invece eseguo tutte le inizializzazioni tramite chiamate di funzione nel mio pacchetto (sebbene i parametri siano ancora esterni). Questo tende a rendere più facile per me il debug e riprodurre il mio lavoro. Quindi, i miei percorsi di libreria possono essere inclusi nello stesso tipo di JSON in cui vengono specificate le posizioni dei miei file di dati.
Personalmente, voglio sfuggire alla definizione dei bundle all'interno dello script e utilizzare invece JSON, in quanto posso creare più facilmente file JSON diversi per diverse configurazioni di installazione. Lo faccio già per la maggior parte degli altri scopi del lavoro riproducibile.
Ecco [una domanda correlata e utile] (http://stackoverflow.com/questions/2988559/how-do-you-use-multiple-versions-of-the-same-r-package). – Iterator