Sì, una semplice copia di CRAN o un repository con pacchetti locali è facile da configurare. Presumibilmente si desidera che questo per Windows in modo da fare questo:
- Creare una directory di livello superiore sul vostro server web, dite
R/
- Creare la gerarchia usuale in là:
R/bin/windows/contrib/2.11
. Se è necessario supportare altre versioni (precedenti), creare semplicemente le directory 2.10
, 2.9
, ... accanto alla directory 2.11
.
Posizionare i pacchetti necessari nella directory (ad esempio, 2.11
), poi cambiare in quella directory ed eseguire il seguente comando per generare PACKAGES
e PACKAGES.gz
file per il repository:
tools::write_PACKAGES(".", type="win.binary")
Questo è tutto quello che c'è da fare - ora puoi accedere al repository puntando all'indirizzo dato un comando come
update.packages(repos="http://my.local.server/R", ask=FALSE)
che faccio anche in R/zzz.R
per i pacchetti locali in modo che si aggiornino da soli.
Modifica circa cinque + anni dopo: E il pacchetto drat ora automatizza un sacco di questo, e brilla in particolare se si utilizza anche GitHub per servire il repository su HTTP/HTTPS (ma è utile per altri o locale di hosting troppo) .
fonte
2010-05-25 14:46:56
L'aggiornamento automatico sembra molto comodo, ma non capisco dove inserire il comando di aggiornamento. Ho giocato con 'zzz.R' e' .onLoad' ma non riesco a far passare il comando 'R CMD ...'. In un certo senso, sembra un po 'strano aggiornare ciò che stai attualmente caricando. – Backlin
Il comando di aggiornamento può essere digitato in R da chiunque possa accedere al repository. –
Oltre ai commenti di Dirk, se si ottiene che gli utenti del pacchetto modifichino i loro file 'Rprofile.site' (che vengono eseguiti all'avvio di ogni sessione R) per includere qualcosa come' options (repos = c (getOption ("repos"), MyCompanyRepo = "http: //my.local.server/R")) ', allora i tuoi utenti possono fare cose come' install.packages ("mypackage") 'senza bisogno di puntare a un percorso. –