1. Non puoi scrivere
La prima cosa da testare è aver digitato correttamente il nome del pacchetto? I nomi dei pacchetti fanno distinzione tra maiuscole e minuscole in R.
2. Non hai cercato nel repository giusto
Successivamente, è necessario verificare se il pacchetto è disponibile. genere
setRepositories()
Vedi anche ? SetRepositories .
Per vedere quali repository R cercherà il tuo pacchetto e, facoltativamente, selezionarne altri. Per lo meno, di solito vorrai CRAN
essere selezionato, e CRAN (extras)
se usi Windows e i Bioc*
repository se lo fai[Gen / prote / metabol / trascrizione] omiche analisi biologiche.
Per modificarlo in modo permanente, aggiungi una riga simile setRepositories(ind = c(1:6, 8))
al tuo Rprofile.site
file.
3. Il pacchetto non si trova nei repository selezionati
Restituisci tutti i pacchetti disponibili usando
ap <- available.packages()
Vedi anche i nomi dei pacchetti disponibili di R , ? Available.packages .
Poiché questa è una matrice di grandi dimensioni, potresti voler utilizzare il visualizzatore di dati per esaminarlo. In alternativa, puoi verificare rapidamente se il pacchetto è disponibile testando i nomi delle righe.
View(ap)
"foobarbaz" %in% rownames(ap)
In alternativa, l'elenco dei pacchetti disponibili può essere visualizzato in un browser per CRAN , CRAN (extra) , Bioconduttore , R-forge , RForge e github .
Un altro possibile messaggio di avviso che potresti ricevere quando interagisci con i mirror CRAN è:
Warning: unable to access index for repository
Ciò può indicare che il repository CRAN selezionato non è attualmente disponibile. È possibile selezionare un altro mirror con chooseCRANmirror()
e riprovare l'installazione.
Esistono diversi motivi per cui un pacchetto potrebbe non essere disponibile.
4. Non vuoi un pacchetto
Forse non vuoi davvero un pacchetto. È comune essere confusi sulla differenza tra un pacchetto e una libreria o un pacchetto e un set di dati.
Un pacchetto è una raccolta standardizzata di materiale che estende R, ad esempio fornendo codice, dati o documentazione. Una libreria è un luogo (directory) in cui R sa trovare i pacchetti che può usare
Per visualizzare i set di dati disponibili, digitare
data()
5. R o Bioconductor non sono aggiornati
Potrebbe dipendere da una versione più recente di R (o da uno dei pacchetti che importa / dipende da). Guarda a
ap["foobarbaz", "Depends"]
e considera l'aggiornamento della tua installazione R alla versione corrente. Su Windows, ciò è più semplice tramite il installr
pacchetto.
library(installr)
updateR()
(Certo, potrebbe essere necessario install.packages("installr")
prima.)
Equivalentemente per i pacchetti Bioconductor, potrebbe essere necessario aggiornare l'installazione di Bioconductor.
source("http://bioconductor.org/biocLite.R")
biocLite("BiocUpgrade")
6. Il pacchetto non è aggiornato
Potrebbe essere stato archiviato (se non viene più mantenuto e non supera più i R CMD check
test).
In questo caso, è possibile caricare una versione precedente del pacchetto utilizzando install_version()
library(remotes)
install_version("foobarbaz", "0.1.2")
Un'alternativa è installare dal mirror CRAN di github.
library(remotes)
install_github("cran/foobarbaz")
7. Non esiste un file binario Windows / OS X / Linux
Potrebbe non avere un file binario di Windows a causa della necessità di software aggiuntivo che CRAN non ha. Inoltre, alcuni pacchetti sono disponibili solo tramite i sorgenti per alcune o tutte le piattaforme. In questo caso, potrebbe esserci una versione nel CRAN (extras)
repository (vedi setRepositories
sopra).
Se il pacchetto richiede il codice di compilazione (ad esempio C, C ++, FORTRAN), quindi su Windows installa Rtools o su OS X installa gli strumenti di sviluppo che accompagnano XCode e installa la versione di origine del pacchetto tramite:
install.packages("foobarbaz", type = "source")
# Or equivalently, for Bioconductor packages:
source("http://bioconductor.org/biocLite.R")
biocLite("foobarbaz", type = "source")
Su CRAN, puoi sapere se avrai bisogno di strumenti speciali per compilare il pacchetto dal sorgente guardando il NeedsCompilation
bandiera nella descrizione.
8. Il pacchetto è su github / Bitbucket / Gitorious
Potrebbe avere un repository su Github / Bitbucket / Gitorious. Questi pacchetti richiedono l' remotes
installazione del pacchetto.
library(remotes)
install_github("packageauthor/foobarbaz")
install_bitbucket("packageauthor/foobarbaz")
install_gitorious("packageauthor/foobarbaz")
(Come per installr
, potrebbe essere necessario install.packages("remotes")
prima.)
9. Non esiste una versione di origine del pacchetto
Sebbene la versione binaria del pacchetto sia disponibile, la versione di origine non lo è. È possibile disattivare questo controllo impostando
options(install.packages.check.source = "no")
come descritto in questa risposta SO da imanuelc e la sezione Dettagli di ?install.packages
.
10. Il pacchetto si trova in un repository non standard
Il pacchetto si trova in un repository non standard (ad es Rbbg
.). Supponendo che sia ragionevolmente conforme agli standard CRAN, è comunque possibile scaricarlo utilizzando install.packages
; devi solo specificare l'URL del repository.
install.packages("Rbbg", repos = "http://r.findata.org")
RHIPE
d'altra parte non è in un repository simile a CRAN e ha le sue istruzioni di installazione .