2012-06-19 14 views
59

This, question, is, asked, over, and, over, and, over, sul R-sig-finance mailing list, ma non credo che è stato chiesto su StackOverflow.Non può installare il pacchetto R-fucina utilizzando install.packages

Va in questo modo:

Dove posso ottenere l'ultima versione del pacchetto XYZ che è ospitato su R-forge? Ho provato ad installare con install.packages, ma questo è quello che è successo:

> install.packages("XYZ",repos="http://r-forge.r-project.org") 
Warning message: package ‘XYZ’ is not available (for R version 2.15.0) 

Guardando sul sito R-fucina di XYZ, vedo che il pacchetto non è riuscito a costruire. Pertanto, non esiste alcun collegamento per scaricare la fonte. C'è un altro modo per ottenere il codice sorgente? Una volta ottenuto il codice sorgente, come posso trasformarlo in un pacchetto che posso caricare con library("XYZ")?

+4

Bel lavoro - possiamo anche trasformarlo in un wiki di supporto. tag "r-forge", forse? –

+0

@DirkEddelbuettel Vai per questo. Non penso di avere abbastanza rappresentanti per fare quel genere di cose. – GSee

+0

Penso che basta modificare e quindi creare un nuovo tag. Usandolo su un numero sempre maggiore di domande diventerà legittimo. O così spero. –

risposta

50

R-Forge potrebbe non riuscire a creare un pacchetto per diversi motivi. Potrebbe essere che la documentazione non sia stata aggiornata per riflettere le recenti modifiche nel codice. Oppure, potrebbe essere che alcune delle dipendenze non erano disponibili al momento della compilazione.

È possibile eseguire il checkout del codice sorgente utilizzando svn. In primo luogo, cercare il progetto sul sito R-Forge e vai alla home page del progetto - per esempio http://r-forge.r-project.org/projects/returnanalytics/ , clicca sul link SCM per arrivare a una pagina come questa http://r-forge.r-project.org/scm/?group_id=579

Questa pagina vi dirà il comando per utilizzare per il checkout del progetto. In questo caso si ottiene

This project's SVN repository can be checked out through anonymous access with the following command(s).

svn checkout svn://svn.r-forge.r-project.org/svnroot/returnanalytics/

Se siete su Windows, probabilmente avrete bisogno di scaricare e installare TortoiseSVN

Una volta installato TortoiseSVN, è possibile fare clic destro in una finestra di Windows Explorer e selezionare "SVN check-out". Nel campo "URL del repository:", inserisci tutto tranne la parte " " svn checkout "del comando che hai trovato su R-Forge. In questo caso, devi inserire "svn: //svn.r-forge.r-project.org/svnroot/returnanalytics/".

Facendo clic su OK, il progetto verrà scaricato nella directory corrente.

Se siete su un sistema UNIX-simile (o se installato gli strumenti client a riga di comando quando si è installato TortoiseSVN per Windows, che non è l'impostazione predefinita), è possibile digitare il comando che R-forgia ti ha dato nel vostro terminale (terminale di sistema, non il terminale R)

svn checkout svn://svn.r-forge.r-project.org/svnroot/returnanalytics/ 

che creerà una nuova directory sotto la directory di lavoro corrente che contiene tutti i file nel pacchetto. Nel livello più alto di quella directory, sarà una sottodirectory chiamata "pkg". Questo particolare progetto (returnanalytics) contiene più di un pacchetto.

ls returnanalytics/pkg 
#FactorAnalytics MPO PApages PerformanceAnalytics PortfolioAnalytics 

Ma alcuni progetti di R-forge hanno solo un unico pacchetto. e.g.

svn checkout svn://svn.r-forge.r-project.org/svnroot/random/ 
#Checked out revision 14. 
ls random/pkg 
#DESCRIPTION inst man NAMESPACE R 

Ora che si dispone di una copia locale tutto il codice, se vuoi essere in grado di installare il pacchetto, è necessario costruire prima.

UNA PAROLA DI ATTENZIONE: Poiché R-Forge non è riuscito a compilare il pacchetto, c'è una buona probabilità che ci siano problemi con il pacchetto . Pertanto, se lo costruisci, potresti trovare che alcune cose non funzionano come previsto. In particolare, è probabile che ci sia mancante o documentazione incompleta.

Se si utilizza un sistema simile a UNIX, è possibile installare e installare il pacchetto in modo relativamente semplice. Per un progetto multi-pacchetto come returnanalytics, se si desidera installare, ad es. il pacchetto PortfolioAnalytics, si può fare in questo modo

R --vanilla CMD INSTALL --build returnanalytics/pkg/PortfolioAnalytics 

"PortfolioAnalytics" è il nome della directory che contiene il pacchetto che si vuole costruire/install. Per un progetto singolo pacchetto, è possibile costruire e installare come questo

R --vanilla CMD INSTALL --build random/pkg 

Se volete costruire/installare un pacchetto su Windows, vedere this question e seguire il twolinks che @JoshuaUlrich fornito

Ulteriori informazioni sono disponibili in R Installation and Administration, the R-Forge User Manual e the SVN manual.

+0

L'uso di '--vanilla' probabilmente non è necessario a seconda di cosa c'è in .Rprofile. Vedi http://stackoverflow.com/a/11639336/ – GSee

+0

'INSTALL --build' crea una versione binaria del pacchetto, ma non lo installa. Inoltre, sarebbe più facile fare 'install.packages (" XYZ ", repos =" http://r-forge.r-project.org ", type =" source ")' – hadley

+0

@hadley R build build di CMD un pacchetto senza installarlo. R CMD INSTALL - build _does_ installarlo; prova per te stesso Per quanto riguarda 'install.packages (..., repos =" http: // r-forge ... ", type =" source ")', forse dovresti leggere di nuovo la domanda. – GSee

2

E 'anche possibile che la versione attuale del pacchetto che si sta tentando di installare richiede una versione più recente di R, per esempio, è possibile vedere errore come:

"Errore: questa è la versione 2.15.0 R , pacchetto 'PerformanceAnalytics' richiede R> = 3.0.0"

allora si può provare ad aggiornare il vostro R

o, se si è di fronte la stessa situazione con me, che sta cercando di usare PQR (attualmente in uso R versione 2.15), è possibile trovare il pacchetto raggiunto non aggiornato qui:

http://cran.at.r-project.org/src/contrib/Archive/PerformanceAnalytics/

È possibile arrivare qui da pagina pacchetti R-Forge -> "Stabile di uscita: Get PerformanceAnalytics 1.4.3541 da CRAN" -> vecchie fonti: PerformanceAnalytics archivio

per esempio, troverete PerformanceAnalytics pacchetto versione 1.1.0 richiede solo R> = 2.14

Buona fortuna

3

Se (e solo se) si ha la toolchain appropriato per il sistema operativo, allora questo può riuscire:

# First download source file to your working directory 
# As an example use browser to download pkg:partykit from: 
# http://download.r-forge.r-project.org/src/contrib/partykit_1.1-2.tar.gz 
# Move to working directory 
# Or in the case of returnanalytics (which is a bundle of packages): 
# http://r-forge.r-project.org/R/?group_id=579 and download the tar.gz (source) 
# Then in R: 

install.packages("partykit_1.1-2.tar.gz", repo=NULL, type="source") 
# for the first of the ReturnAnalytics packages: 
install.packages("Dowd_0.11.tar.gz", repo=NULL, type="source") 

Queste direzioni devono essere "multipiattaforma". Non sono sicuro che le indicazioni nella risposta accettata siano applicabili ai Mac (OSX) . (In seguito ho confermato che funzionano "su Mac" ma hanno trovato il processo più coinvolto rispetto a quello che ho suggerito sopra.Esse risultano in una directory che contiene i pacchetti in un modulo che dovrebbe avere successo con R --vanilla CMD INSTALL --build pathToEachPackageSeparately)

0

In alternativa, è possibile installare il pacchetto specifico da GitHub, se ha un repository su GitHub.

ho corse install.packages('ggfortify'), e ottenuto

Warning message: “package ‘ggfortify’ is not available (for R version 3.3.2)”

ggfortify era repo GitHub per lo stesso pacchetto.

La libreria devtools consente di installare un pacchetto da GitHub direttamente con install_github('username/repo').

library(devtools) 
install_github('sinhrks/ggfortify') 
Problemi correlati