Parte del motivo per cui R è diventato così popolare è la vasta gamma di pacchetti disponibili nei repository cran e bioconductor. Negli ultimi anni, il numero di pacchetti è cresciuto in modo esponenziale!
Questo è un breve post che fornisce passaggi su come installare effettivamente i pacchetti R. Supponiamo che tu voglia installare il pacchetto ggplot2. Beh, niente potrebbe essere più facile. Basta attivare una shell R e digitare:
> installa.packages (“ggplot2”)
In teoria il pacchetto dovrebbe semplicemente installarsi, tuttavia:
- se stai usando Linux e non hai accesso root, questo comando non funzionerà.
- ti verrà chiesto di selezionare il tuo mirror locale, cioè quale server dovresti usare per scaricare il pacchetto.
Installazione di pacchetti senza accesso root
Innanzitutto, è necessario designare una directory in cui archiviare i pacchetti scaricati. Sulla mia macchina, uso la directory/data/Rpackages/
Dopo aver creato una directory di pacchetti, per installare un pacchetto usiamo il comando:
> installa.i pacchetti (“ggplot2”, lib="/data/Rpackages/")
> libreria(ggplot2, lib.loc=”/data/Rpackages/”)
È un po ‘ doloroso dover digitare /data/Rpackages/
tutto il tempo. Per evitare questo onere, creiamo un file .Renviron
nella nostra area home e aggiungiamo la riga R_LIBS=/data/Rpackages/
. Questo significa che ogni volta che si avvia R, la directory /data/Rpackages/
viene aggiunto all’elenco di posti dove cercare i pacchetti R e quindi:
> install.packages("ggplot2"
)
> library(ggplot2)
funziona!
Impostazione del repository
Ogni volta che si installa un pacchetto R, viene chiesto quale repository R dovrebbe usare. Per impostare il repository ed evitare di doverlo specificare ad ogni installazione del pacchetto, semplicemente:
- crea un file
.Rprofile
nella tua area home. - Aggiungere il seguente pezzo di codice ad esso:
cat (“.Rprofile: Setting UK repositoryn”)
r = getOption(“repos”) # hard code il repo del Regno Unito per CRAN
r = “http://cran.uk.r-project.org”
options(repos = r)
rm(r)
Ho trovato questo suggerimento in una risposta stackoverflow .