Home > Doc > R: un ambiente opensource > Che cos'è R

R: un ambiente opensource per l'analisi statistica dei dati

Che cos'è R

R può essere definito come un sistema di analisi statistica, che è contemporaneamente un linguaggio ed un software. Lo stesso R Development Core Team[6], parlando di R, preferisce definirlo come un ambiente integrato e coerente, piuttosto che come la somma di un insieme di strumenti poco flessibili, oppure come un semplice software o package al pari di prodotti simili, stando implicitamente a significare la presenza di un maggior "valore aggiunto" nel "prodotto" R. Le sue caratteristiche principali possono essere così riassunte:

a) semplicità nella gestione e manipolazione dei dati;

b) disponibilità di una suite di strumenti per calcoli su vettori, matrici ed altre operazioni complesse;

c) accesso ad un vasto insieme di strumenti integrati per l'analisi statistica;

d) produzione di numerose potenzialità grafiche particolarmente flessibili;

e) possibilità di adoperare un vero e proprio linguaggio di programmazione orientato ad oggetti che consente l'uso di strutture condizionali e cicliche, nonché di funzioni create dall'utente.

E' distribuito gratuitamente sotto i vincoli della GPL (General Public License) ed disponibile per diverse architetture hardware e sistemi operativi: Unix, Linux, Windows, MacOS. E' quello che tecnicamente si definisce un software multipiattaforma. Sul sito http://www.r-project.org è possibile scaricare, oltre che il programma base, anche una serie di moduli aggiuntivi e un'ampia manualistica (in lingua inglese) sull'ambiente che va dall'installazione del software al suo utilizzo nell'analisi dei dati.

Sul sito citato sono disponibili i file binari di R (contenenti il codice sorgente scritto parte nel linguaggio C e parte nel linguaggio Fortran) alla cui realizzazione e al miglioramento partecipano una pluralità di soggetti che operano nella parti più disparate del mondo e che riescono a collaborare e cooperare grazie ad Internet, utilizzando come strumenti di comunicazione i forum, le liste di discussione, la posta elettronica. R si presenta come uno strumento completo e ben si adatta a molteplici esigenze: è il software maggiormente utilizzato a livello mondiale dai ricercatori in campo statistico. Esaminiamo ora i suoi punti di forza ed anche alcune sue debolezze e/o mancanze.

1) R è un software opensource, come già detto, e in virtù di ciò:

a) si ha la possibilità di accedere al codice sorgente e di modificarlo

b) ha un costo zero per l'utente finale e presenta una facilità nell'accesso a particolari categorie di utenti che non possono permettersi costosi software per analisi statistiche come gli studenti oppure gli utilizzatori e i ricercatori dei Paesi in via di sviluppo

c) dispone di una vasta manualistica (in lingua inglese) consultabile e scaricabile da Internet (si veda oltre)

d) è possibile accedere tramite Internet ad una vasta gamma di librerie per analisi statistiche molte dettagliate create e messe a disposizione di tutti da parte di ricercatori di tutto il pianeta

e) è possibile contare sul supporto e sull'assistenza dell'R Development Core Team e di tutti gli utenti di R (una vera community a livello mondiale) grazie al sito Internet e alle liste di discussione tramite le quali ci si può avvalere dell'aiuto di esperti in statistica e informatica di tutto il pianeta

2) R è un ambiente estremamente versatile:

a) con possibilità di creare strumenti personali di analisi statistica ad hoc necessari per le proprie ricerche

b) con disponibilità di strumenti di analisi statistica (già pronti) dai più elementari ai più sofisticati

c) con notevoli possibilità grafiche rispetto ad altri software statistici (probabilmente R è il software che consente di ottenere il più elevato numero di rappresentazioni grafiche che si possono definire da sole oppure utilizzando diversi pacchetti basati su Java, OpenGL, etc.)

d) con possibilità di programmare R creando funzioni e programmi definiti dall'utente[7]

e) dotato di funzione di help in linea per ciascun comando facilmente richiamabile dal programma

f) è un software in rapidissimo sviluppo

g) possiede tutti i vantaggi dei software multipiattaforma

h) ha la possibilità di integrazione, con l'uso di apposito software gratuito e scaricabile da Internet, con interfaccia grafica (GUI)

i) può essere integrato facilmente, con l'uso di apposito software gratuito e scaricabile da Internet, con alcuni dei più diffusi prodotti di office automation, come ad esempio Microsoft Excel in ambiente Windows

j) può essere interfacciato, con l'uso di apposito software gratuito e scaricabile da Internet, con i principali programmi di gestione di database come MySql, Microsoft Access, Oracle, PostgreSQL per l'importazione ed esportazione di dati[8]

k) consente, tramite un'apposita libreria scaricabile gratuitamente da Internet, di importare i file dei dati da software statistici quali: Minitab, S, SAS, SPSS, Stata

l) è abbastanza semplice nell'impiego a livello didattico nell'insegnamento della statistica

m) è un linguaggio di programmazione orientato ad oggetti (object oriented)[9] e consente la manipolazione di matrici e vettori

Esiste un'importante differenza a livello di filosofia tra R e la maggior parte degli altri packages statistici. Con gli altri software un'analisi statistica porta ad una grande quantità di output di informazioni e dati, mentre con R l'analisi statistica è condotta come una serie di passi, con risultati intermedi memorizzati in oggetti. Ad ogni passo dell'analisi gli output sono minimi e l'utente ha la possibilità di visualizzarli e manipolarli richiamando, quando è necessario, gli oggetti nei quali i risultati dell'analisi sono contenuti[10]. Tra i difetti e le lacune di R qualche autore[11] ha riscontrato che:

a) è un ambiente basato su un'interfaccia utente a carattere (CUI), anche se è possibile implementare un'interfaccia GUI (Graphical User Interface), le funzioni e le istruzioni vengono immesse da una linea di comando (command line interface), che, tuttavia, è molto potente e semplice da usare

b) possono mancare alcune funzioni statistiche

c) la sintassi del linguaggio a volte risulta alquanto inconsistente Tuttavia a tali affermazioni possiamo chiaramente controbattere che:

1) esistono delle interfacce GUI per R come (R Commander) che sono assolutamente equivalenti a quelle dei software commerciali[12]

2) alla mancanza di alcune funzione statistiche si può sopperire scrivendo il codice e creando da sé questi strumenti, anche se ciò richiede maggiore padronanza di strumenti informatici avanzati che non tutti gli statistici possiedono

3) circa la presunta inconsistenza della sintassi bisogna ricordare che nel 1998 John Chambers ha ricevuto un importante riconoscimento (The Association for Computing Machinery award for Software Systems) per la definizione del linguaggio S (il progenitore di R) precipuamente per la sua superiorità nella struttura e nella consistenza della sintassi.

Come può evincersi, anche da un punto di vista puramente quantitativo, gli aspetti positivi del software R prevalgono nettamente su quelli negativi e ne hanno decretato il successo a livello mondiale all'interno della comunità di ricercatori in ambito statistico.


6 Cfr. la pagina web del sito The R Project for Statistical Computing, "What is R?"

7 Si veda: R Development Core Team, Writing R Extentions, versione 2.0.1 del 15/11/04 all'indirizzo Internet: http://cran.r-project.org/doc/manuals/R-exts.pdf

8 Si veda: R Development Core Team, R Data Import/Export, versione 2.0.1 del 15/11/04 all'indirizzo Internet: http://cran.r-project.org/doc/manuals/R-data.pdf

10 Cfr. Jeff Racine, Rob J. Hyndman, Using R to Teach Econometrics, Working Paper 10/2001, Department of Econometrics & Business Statistics, Monash University, Melbourne, novembre 2001

11 Jeff Racine, Rob J. Hyndman, Using R to Teach Econometrics, op. cit., pag. 3

12 Per ulteriori notizie su R Commander si consulti l'URL: http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/

Vito Ricci

Successivo: Le funzionalità dell'ambiente R

Sommario: Index