R è l'ambiente di programmazione open source per l'analisi statistica e la produzione di grafici. Nato nella metà degli anni '90, oggi è uno dei software statistici più utilizzati in ambito scientifico, didattico e professionale.

Il progetto R

Il progetto R nasce agli inizi degli anni '90 presso l'Università di Auckland ad opera di Ross Ihaka and Robert Gentleman proponendosi come alternativa al linguaggio di programmazione statistica S, software commerciale sviluppato a partire dalla metà degli anni '70 presso i Bell Laboratories. Nel 1995 viene rilasciata la prima release di R come software Libero e Open Source distribuito con licenza GNU General Public License e nel 1997 diventa software ufficiale del GNU Project. Nel giugno 2000 viene rilasciata la prima beta release stabile v.1.0. Da allora lo sviluppo dell'ambiente software R è proseguito senza sosta coinvolgendo l'interesse ed il contributo di utenti, ricercatori e sviluppatori di ogni parte del mondo. Nel giugno 2021 R occupa il 12° posto nella classifica del TIOBE index che raccoglie i linguaggi di programmazione più popolari.

Oggi R è un ambiente software statistico Open Source, multipiattaforma gratuitamente disponibile per i sistemi Linux, Windows e macOS. La distribuzione del software è affidata al progetto CRAN (Comprehensive R Archive Network), una capillare rete internazionale di mirror che raccolgono i repository delle release del codice sorgente e dei pacchetti di installazione, gli add-on package e la documentazione.

La distribuzione R 'base' offre funzionalità per un ampio numero di metodologie statistiche per l'analisi descrittiva e predittiva dei dati; giusto per citarne solo alcune: test sulle distribuzioni (Shapiro-Wilk, Kolmogorov-Smirnov), test delle ipotesi parametrici e non parametrici (U test di Mann-Whitney e di Wilcoxon), analisi della varianza, test di correlazione, test Chi-Quadro, analisi delle serie storiche, modelli di regressione lineare e non lineare, clustering, etc. Non manca un ambiente grafico con avanzate funzionalità di plotting in grado di fornire complesse rappresentazioni dei dati.

Oggi R è una suite integrata di risorse software per l'analisi statistica dei dati, estremamente versatile, con campi di applicazione che coprono i più svariati settori multidisciplinari delle scienze naturali, sociali ed economiche nonché le moderne metodologie di analisi avanzata dei dati come il Machine Learning, il Data Mining fino alla gestione/analisi dei grandi dataset.

Package dei Comandi R

La grande versatilità di R è resa possibile grazie alla capacità di espandere le sue funzionalità tramite specifici add-on package. La distribuzione 'base' di R contiene già molti package, ma per ciascun settore di applicazione sono disponibili specifici package frutto del continuo e prezioso lavoro di sviluppo, da parte della community di volontari, che solo un progetto open source ben strutturato può vantare.

I package sono distribuiti tramite repository. Attualmente (2021) nei repository CRAN sono disponibili quasi 18.000 package. L'elenco completo dei package è consultabile nella pagina CRAN - Contributed Packages

Molti altri package R sono disponibili nei repository di progetti open source:

L'accesso alle sorgenti dati viene garantito sia dalle funzionalità del core di R, che dall'utilizzo di package dedicati. Così, oltre ai comuni file di testo CSV, R è in grado di leggere/scrivere file Excel, file dati di altri software e linguaggi di programmazione scientifici (SPSS, STATA, SAS, MATLAB, etc.) e formati dati strutturati come JSON.

Ovviamente non manca l'acceso alle sorgenti dati forniti dai database relazionali (come MySQL, PostgreSQL, SQLite, Oracle, SQL Server, etc.) e DBMS NoSQL. La gestione dei diversi DBMS è garantita dalla disponibilità di package dedicati, ad esempio RMySQL per interfacciarsi con MySQL, RPostgreSQL per PostgreSQL e ROracle per i Database Oracle. 

Segue: Caratteristiche del linguaggio R