Vai al contenuto principale

Tutorial sui pacchetti R: installare, caricare e gestire i pacchetti R

Scopri come installare, caricare, aggiornare e gestire i pacchetti R da CRAN, Bioconductor e GitHub. Include renv, devtools e la documentazione dei pacchetti.
Aggiornato 29 set 2026  · 15 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

R è uno dei linguaggi di programmazione più usati per statistica e data science, e gran parte della sua forza deriva dai pacchetti. Che tu debba fare elaborazione del linguaggio naturale, recuperare dati meteorologici dal web o eseguire modelli statistici complessi, quasi certamente esiste un pacchetto adatto. Dal 2026, il repository ufficiale (CRAN) ospita oltre 21.000 pacchetti, e molti altri sono disponibili pubblicamente su internet.

Se stai iniziando con R, ti guiderò nelle basi dei pacchetti R e su come usarli. Ecco cosa vedremo:

Che cos’è un pacchetto R?

I pacchetti R sono raccolte di funzioni e set di dati sviluppate dalla community. Aumentano la potenza di R migliorando le funzionalità di base già esistenti o aggiungendone di nuove. Per esempio, se lavori spesso con i data frame, probabilmente hai sentito parlare di dplyr o data.table, due dei pacchetti R più popolari.

Di solito un pacchetto raggruppa codice R (e talvolta codice compilato in C o Fortran), documentazione, test e set di dati in un’unica unità che puoi condividere e riutilizzare.

Le informazioni di base su un pacchetto sono fornite nel file DESCRIPTION, dove puoi scoprire cosa fa il pacchetto, chi è l’autore, a quale versione appartiene la documentazione, la data, il tipo di licenza d’uso e le dipendenze del pacchetto.

Nota che puoi anche usare il link alternativo di stats per vedere il file DESCRIPTION.

Oltre a trovarli su siti come cran.r-project.org o stat.ethz.ch, puoi accedere al file DESCRIPTION anche da R con il comando packageDescription("package"), tramite la documentazione del pacchetto con help(package = "package"), oppure online nel repository del pacchetto.

Per esempio, per il pacchetto “stats”, questi modi saranno:

packageDescription("stats")
help(package = "stats")

Cosa sono i repository R?

Un repository è un luogo in cui si trovano i pacchetti, da cui puoi installarli. Anche se tu o la tua organizzazione potreste avere un repository locale, in genere sono online e accessibili a tutti. Tre dei repository più popolari per i pacchetti R sono:

  • CRAN: il repository ufficiale, è una rete di server ftp e web mantenuta dalla community R in tutto il mondo. È coordinato dalla R Foundation e, perché un pacchetto venga pubblicato qui, deve superare diversi test che assicurano il rispetto delle policy di CRAN. 
  • Bioconductor: è un repository tematico pensato per software open-source di bioinformatica. Come CRAN, ha propri processi di invio e revisione, e la sua community è molto attiva, con diverse conferenze e incontri ogni anno.
  • GitHub: anche se non è specifico per R, GitHub è probabilmente il repository più popolare per progetti open-source. La sua popolarità deriva dallo spazio illimitato per l’open source, dall’integrazione con git, un software di controllo di versione, e dalla facilità di condivisione e collaborazione. Tieni però presente che non è previsto alcun processo di revisione associato.

Come installare un pacchetto R

Ci sono alcune opzioni diverse per installare i pacchetti R.

Installare pacchetti R da CRAN

Il modo più comune per installare un pacchetto R è da CRAN. Ti basta il nome del pacchetto e una chiamata a install.packages("package"). Per pacchetti ospitati altrove (Bioconductor, GitHub), il metodo di installazione è diverso—li vedremo qui sotto.

Per esempio, il pacchetto più vecchio pubblicato su CRAN e ancora online e aggiornato è il pacchetto vioplot, di Daniel Adler.

La data di pubblicazione originale è nel file DESCRIPTION del pacchetto.

Per installarlo da CRAN, dovrai usare:

install.packages("vioplot")

Dopo l’esecuzione, R stampa messaggi sulla sorgente del download, l’avanzamento dell’installazione e l’esito. Ecco un esempio sintetico di ciò che potresti vedere:

Installing package into '/home/username/R/x86_64-pc-linux-gnu-library/4.6'
(as 'lib' is unspecified)
trying URL 'https://cloud.r-project.org/src/contrib/vioplot_0.4.0.tar.gz'
...
* DONE (vioplot)

L’output indica dove è stato installato il pacchetto, da dove è stato scaricato e se l’installazione è riuscita. A seconda del sistema operativo, questi messaggi possono variare.

Infine, per installare più di un pacchetto R alla volta, elencali come vettore di caratteri nel primo argomento della funzione install.packages():

install.packages(c("vioplot", "MASS"))

Installare dai mirror di CRAN

Ricorda che CRAN è una rete di server (ognuno dei quali chiamato “mirror”), quindi puoi specificare quale desideri usare. Se usi R tramite l’interfaccia RGui, puoi selezionarlo dall’elenco che compare subito dopo aver usato il comando install.packages(). In RStudio, il mirror è già selezionato di default.

Puoi anche selezionare il mirror usando chooseCRANmirror() o direttamente nella funzione install.packages() tramite il parametro repo. Puoi vedere l’elenco dei mirror disponibili con getCRANmirrors() o direttamente sulla pagina dei mirror di CRAN.

Esempio: per usare il mirror della Ghent University Library (Belgio) per installare il pacchetto vioplot, puoi eseguire:

install.packages("vioplot", repos = "https://lib.ugent.be/CRAN")

Installare pacchetti Bioconductor

I pacchetti Bioconductor si installano tramite il pacchetto BiocManager. Per prima cosa, installa BiocManager da CRAN:

install.packages("BiocManager")

Poi installa i pacchetti Bioconductor per nome:

BiocManager::install(c("GenomicFeatures", "AnnotationDbi"))

Per installare o aggiornare tutti i pacchetti core di Bioconductor, chiama BiocManager::install() senza argomenti. L’attuale release è Bioconductor 3.23, che richiede R 4.6.0. Vedi la guida ufficiale all’installazione per i dettagli.

Installare pacchetti via devtools

Come hai letto sopra, ogni repository ha il proprio modo di installare un pacchetto, quindi se usi regolarmente pacchetti da fonti diverse, questo comportamento può risultare un po’ frustrante. Un modo più efficiente è probabilmente usare il pacchetto devtools per semplificare il processo, perché contiene funzioni specifiche per ciascun repository, incluso CRAN.

Puoi installare devtools come al solito con install.packages("devtools"), ma potresti anche dover installare Rtools su Windows, gli strumenti da riga di comando di Xcode su Mac o r-base-dev e r-devel su Linux.

Dopo aver installato devtools, potrai usare le funzioni di utilità per installare altri pacchetti. Le opzioni sono:

  • install_bioc() da Bioconductor,

  • install_bitbucket() da Bitbucket,

  • install_cran() da CRAN,

  • install_git() da un repository git,

  • install_github() da GitHub,

  • install_local() da un file locale,

  • install_svn() da un repository SVN,

  • install_url() da un URL, e

  • install_version() da una versione specifica di un pacchetto CRAN.

Per esempio, per installare il pacchetto babynames dal suo repository GitHub, puoi usare:

devtools::install_github("hadley/babynames")

Come aggiornare, rimuovere e controllare i pacchetti R installati

Dopo un po’ di tempo con R, è normale usare install.packages() alcune volte a settimana o persino al giorno e, dato il ritmo con cui vengono sviluppati i pacchetti, è probabile che prima o poi dovrai aggiornare o sostituire i tuoi pacchetti preferiti. In questa sezione troverai alcune funzioni che possono aiutarti a gestire la tua collezione.

  • Per verificare quali pacchetti sono installati sul tuo computer, puoi usare:
installed.packages()
  • Disinstallare un pacchetto è semplice con la funzione remove.packages(), nel tuo caso:
remove.packages("vioplot")
  • Controlla quali pacchetti necessitano di un aggiornamento:
old.packages()
  • Aggiorna tutti i pacchetti:
update.packages()
  • Aggiorna un pacchetto specifico reinstallandolo:
install.packages("vioplot")

Gestione dei pacchetti con renv

Per la gestione delle dipendenze a livello di progetto, il pacchetto renv (manutenuto da Posit) crea ambienti di pacchetti isolati e riproducibili—simili agli ambienti virtuali di Python.

install.packages("renv")

# Initialize renv in your project
renv::init()

# Take a snapshot of current packages
renv::snapshot()

# Restore packages from the lockfile
renv::restore()

renv registra le versioni esatte dei pacchetti in un file renv.lock, così i collaboratori possono riprodurre il tuo ambiente con renv::restore(). È particolarmente utile per team e progetti di lunga durata.

Interfacce utente per installare pacchetti R

Se preferisci un’interfaccia grafica, sia RStudio che RGui includono strumenti per la gestione dei pacchetti. In RStudio (ora sviluppato da Posit), vai su Tools → Install Packages e digita il nome del pacchetto nella finestra di dialogo. Per una panoramica completa di RStudio, vedi il nostro tutorial su RStudio.

install packages

In RGui trovi le utilità sotto il menu Packages.

rgui

Come caricare i pacchetti

Dopo aver installato un pacchetto, sei pronto a usarne le funzionalità. Se ti serve un uso sporadico di alcune funzioni o dati all’interno di un pacchetto, puoi accedervi con la notazione packagename::functionname(). Per esempio, dato che hai installato il pacchetto babynames, puoi esplorare uno dei suoi dataset.

Per vedere quali funzioni e dati contiene un pacchetto, usa help(package = "babynames").

Per accedere al dataset births all’interno del pacchetto babynames, ti basta digitare:

babynames::births
## # A tibble: 6 x 2
##    year  births
##   <int>   <int>
## 1  2009 4130665
## 2  2010 3999386
## 3  2011 3953590
## 4  2012 3952841
## 5  2013 3932181
## 6  2014 3988076

Se farai un uso più intensivo del pacchetto, potrebbe valere la pena caricarlo in memoria. Il modo più semplice è con il comando library().

Tieni presente che l’input di install.packages() è un vettore di caratteri e richiede il nome tra virgolette, mentre library() accetta sia una stringa sia un nome, permettendoti di scrivere il nome del pacchetto senza virgolette.

Dopo questo, non ti serve più la notazione package::function() e puoi accedere direttamente alle sue funzionalità come a qualsiasi altra funzione o dato di base di R:

births
## # A tibble: 6 x 2
##    year  births
##   <int>   <int>
## 1  2009 4130665
## 2  2010 3999386
## 3  2011 3953590
## 4  2012 3952841
## 5  2013 3932181
## 6  2014 3988076

Potresti aver sentito parlare della funzione require(): è effettivamente possibile caricare un pacchetto con questa funzione, ma la differenza è che non genera un errore se il pacchetto non è installato.

Quindi usala con attenzione!

Puoi leggere di più su library() vs require() nel post di Yihui Xie sull’argomento. Per imparare le basi di R, inclusa la gestione dei pacchetti, vedi la nostra guida per imparare R.

Qual è la differenza tra package e library?

Parlando della funzione library(), a volte c’è confusione tra package e library, e capita di sentire chiamare “librerie” i pacchetti.

Non confonderti: library() è il comando usato per caricare un pacchetto e si riferisce al luogo in cui il pacchetto è contenuto, di solito una cartella sul tuo computer, mentre un package è la raccolta di funzioni comodamente impacchettate.

Una citazione di Hadley Wickham, Chief Scientist in Posit (ex RStudio) e docente del corso DataCamp Writing Functions in R, lo spiega bene:

Un altro buon promemoria di questa differenza è eseguire la funzione library() senza argomenti. Ti fornirà l’elenco dei pacchetti installati nelle diverse librerie sul tuo computer:

library()

Come caricare più pacchetti R in una volta

A differenza di install.packages(), library() carica un solo pacchetto per chiamata. Un workaround comune è lapply():

packages <- c("dplyr", "ggplot2", "tidyr")
lapply(packages, library, character.only = TRUE)

Puoi anche usare il pacchetto pacman, che installa i pacchetti mancanti e li carica in un solo passaggio con p_load().

Come scaricare (unload) un pacchetto R

Per scaricare un determinato pacchetto dalla sessione, puoi usare la funzione detach(). L’uso è:

detach("package:babynames", unload = TRUE)

Fonti alternative di documentazione e aiuto

Come hai letto nelle sezioni precedenti, il file DESCRIPTION contiene le informazioni di base su un pacchetto e, per quanto utili, non ti aiuteranno a usare quel pacchetto per la tua analisi. Ti serviranno quindi altre due fonti di documentazione: i file di help e le vignette.

File di help

Come in R di base, i comandi ?() e help() sono la prima fonte di documentazione quando inizi con un pacchetto. Probabilmente ricordi che puoi ottenere una panoramica generale del pacchetto usando help(package = "packagename"), ma ogni funzione può essere esplorata singolarmente con help("nome della funzione") o help(function, package = "package") se il pacchetto non è stato caricato, dove in genere trovi la descrizione della funzione e dei suoi parametri e un esempio d’uso.

Per esempio, potresti ricordare che per ottenere il file di help del comando vioplot dal pacchetto vioplot, puoi digitare:

help(vioplot, package = "vioplot")

Consiglio: puoi anche usare un altro modo per vedere cosa contiene un pacchetto caricato. Usa il comando ls() in questo modo:

library(babynames)
ls("package:babynames")
## [1] "applicants" "babynames"  "births"     "lifetables"

Vignette

Un’altra fonte di aiuto molto utile inclusa nella maggior parte dei pacchetti sono le vignette, documenti in cui gli autori mostrano alcune funzionalità del loro pacchetto in modo più dettagliato. Seguire le vignette è un ottimo modo per sporcarti le mani con gli usi comuni del pacchetto, quindi è perfetto per iniziare a lavorarci prima di fare la tua analisi.

Come forse ricordi, le informazioni sulle vignette contenute in un dato pacchetto sono disponibili anche nel suo file DOCUMENTATION in locale o online, ma puoi anche ottenere l’elenco delle vignette incluse nei pacchetti installati con la funzione browseVignettes() e, per un dato pacchetto, includi il suo nome come parametro: browseVignettes(package="packagename"). In entrambi i casi si aprirà una finestra del browser, così puoi esplorare facilmente e cliccare sulla vignetta preferita per aprirla.

Se preferisci restare a riga di comando, il comando vignette() mostrerà l’elenco delle vignette, vignette(package = "packagename") quelle incluse in un determinato pacchetto e, una volta individuata quella che vuoi esplorare, usa il comando vignette("vignettename").

Per esempio, uno dei pacchetti più popolari per la visualizzazione è ggplot2. Puoi saperne di più nel corso di DataCamp Introduction to Data Visualization with ggplot2. Probabilmente lo hai già installato sul tuo computer, ma in caso contrario, questa è l’occasione per farlo e mettere alla prova le tue nuove abilità con install.packages().

Supponendo che tu abbia già installato ggplot2, puoi controllare quali vignette sono incluse:

vignette(package = "ggplot2")

Per ggplot2 sono disponibili due vignette, “ggplot2-specs” ed “extending-ggplot2”. Puoi aprire la prima con:

vignette("ggplot2-specs")

Su RStudio verrà mostrata nel pannello Help a destra, mentre in RGui o da riga di comando si aprirà una finestra del browser con la vignetta.

Puoi trovare altre opzioni per ottenere aiuto da R sul sito del Progetto R.

Come scegliere i pacchetti R giusti

A questo punto dovresti essere in grado di installare e sfruttare al meglio i tuoi pacchetti R, ma resta un’ultima domanda: dove trovi i pacchetti di cui hai bisogno?

Il modo tipico per scoprire i pacchetti è semplicemente imparando R. In molti tutorial e corsi, i pacchetti più popolari vengono solitamente menzionati. Per esempio, il corso Cleaning Data in R approfondisce tidyr.

Per ogni argomento che vuoi affrontare in R, probabilmente c’è un pacchetto interessante che puoi trovare.

Ma se hai un problema specifico e non sai da dove iniziare? Per esempio, come detto nell’introduzione a questo post, e se ti interessasse analizzare testi in coreano?

Oppure se volessi raccogliere dati meteorologici? O stimare l’evapotraspirazione?

Hai passato in rassegna vari repository e sì, sai che potresti controllare la lista dei pacchetti CRAN, ma con oltre 21.000 opzioni è facile perdersi.

Vediamo qualche alternativa!

CRAN Task View

Un’alternativa può essere sfogliare le categorie dei pacchetti CRAN, grazie alle CRAN task views. Esatto! CRAN, il repository ufficiale, ti dà anche la possibilità di esplorare i pacchetti. Le task view sono in pratica temi o categorie che raggruppano i pacchetti in base alla loro funzionalità.

Come vedi sotto, tutti i pacchetti che hanno a che fare con la genetica saranno categorizzati nella task view "Genetics": 

R packages guidePrendendo l’esempio dei testi in coreano, puoi trovare facilmente il pacchetto che ti serve navigando nella task view Natural Language Processing. Lì puoi leggere il testo per trovare il pacchetto in grado di gestire i tuoi testi, oppure fare un semplice CTRL+F e digitare la parola chiave che stai cercando. 

RDocumentation e R-Universe

RDocumentation aggrega la documentazione dei pacchetti da CRAN, Bioconductor e GitHub in un’unica interfaccia ricercabile. Ordina i risultati per popolarità di download, così i pacchetti più usati emergono per primi.

R-Universe è un’alternativa più recente che fornisce pagine dei pacchetti con stato di build, documentazione e informazioni sulle dipendenze. Entrambe sono gratuite e da mettere nei preferiti.

Considerazioni finali

I pacchetti R sono la spina dorsale dell’ecosistema R. Che tu installi da CRAN, Bioconductor o GitHub, il flusso di lavoro di base è lo stesso: installa una volta con install.packages() o BiocManager::install(), quindi carica per sessione con library().

Qui non ho trattato come creare i tuoi pacchetti. Se questo è il tuo prossimo passo, il libro R Packages di Hadley Wickham è la risorsa definitiva, e il corso di DataCamp Developing R Packages guida il processo con esempi pratici.

Se vuoi rafforzare più in generale le tue basi di R, ti consiglio di iniziare con il corso Introduction to R o di esplorare l’intero catalogo dei corsi R.

Argomenti
R
Data Science

I migliori corsi R

Corso

Introduzione a R

4 ore
3.1M
Impara le basi dell'analisi dei dati in R, compresi vettori, liste e data frame, e fai pratica con R con set di dati reali.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

Mostra AltroMostra Altro