Home > Doc > R: un ambiente opensource > Le funzionalità dell'ambiente R

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

Le funzionalità dell'ambiente R

L'ambiente R è basato sul concetto di "package" tradotto di solito in italiano con pacchetto. Un package è un insieme di strumenti che svolgono determinate funzioni, ma può anche contenere solo dati oppure solo documentazione. Attualmente è disponibile una vasta gamma di packages (scaricabili, per il sistema operativo Windows, dall'URL http://cran.at.r-project.org/bin/windows/contrib) utilizzabili per la risoluzione di specifici problemi o per analisi statistiche molto particolareggiate.

Il cuore di R è rappresentato dal modulo base (che offre gli strumenti fondamentali per l'analisi statistica) e attorno a questo modulo "ruotano" una serie di altre librerie addizionali, alcune delle quali sono già comprese nel programma R al momento in cui lo si installa, mentre altre librerie ancora, in relazione alle esigenze e necessità, possono essere aggiunte e installate dall'utente dopo averle scaricate dal sito succitato.

R è un ambiente computazionale molto dinamico ed in continua evoluzione e frequentemente nuovi ulteriori packages sono realizzati e messi a disposizione dei ricercatori. Esaminiamo sinteticamente i principali packages di R puntualizzando alcune delle funzionalità che questi consentono di operare. Quella che segue è la situazione valida sino alla versione 1.8.1.

1) Package "base": come già detto questo modulo è il motore dell'ambiente R, viene caricato automaticamente e fornisce all'utente gli strumenti per le più importanti e diffuse analisi statistiche come: ANOVA, regressione lineare, statistica descrittiva ed inferenziale, analisi esplorativa dei dati, grafici elementari, modelli lineari generalizzati, generazione di campioni delle più comuni variabili casuali, operazioni su matrici e vettori.

2) Package "ctest": consente di effettuare tutti i principali test statistici per la verifica delle ipotesi (test t, test F, test di normalità, test non parametrici, test per l'omoscedasticità delle varianze, test Chi-quadro, etc.)

3) Packages "ts" e "tseries": sono due packages dedicati all'analisi delle serie temporali

4) Package "spatial": analisi dei dati di serie spaziali

5) Packages "grid", "lattice", "rgl" e "scatterplot3d": permettono di realizzare e manipolare grafici avanzati e tridimensionali

6) Packages "mva", "amap", "multidim" e "multiv": permettono di eseguire le principali analisi su dati multidimensionali (analisi delle componenti principali, analisi fattoriale, correlazione canonica, scaling multidimensionale, clustering gerarchico)

7) Package "cluster": è il modulo specializzato nell'analisi dei gruppi (cluster analysis)

8) Package "nls": effettua l'analisi della regressione con modelli non lineari applicando il metodo dei minimi quadrati (Nonlinear Least Squares)

9) Package "matrix": strumenti per l'uso avanzato di matrici e vettori con metodi numerici per l'algebra lineare

10) Packages "survival" e "survrec": pacchetti specializzati nell'analisi della sopravvivenza

11) Package "nlme": modelli lineari e non lineari con effetti misti (Linear and Nonlinear mixed effects models)

12) Package "foreign": contiene tutta una serie di funzioni utili per importare file da software statistici quali Minitab, S, SAS, SPSS, Stata.

Con il rilascio della versione 1.9.0. avvenuta il 12 aprile 2004 ci sono state importanti modifiche nella struttura organizzativa dei packages all’interno di R. In particolare il package che nella precedente release era denominato “base” è stato diviso in quattro pacchetti denominati: “base”, “graphics”, “stats”, “utils”. Tutti e quattro sono caricati in una installazione standard, ma tale divisione alleggerisce il lavoro svolto dal sistema, consentendo, anche grazie ad altre modifiche apportate, migliori prestazioni. Inoltre si è riusciti ad aumentare la velocità di start up di una sessione di R: il tempo impiegato con l’ultima versione è circa i due terzi di del tempo della versione 1.8.1.

Il package “base” continua a contenere i tools strettamente di base del software, mentre i packages “ctest”, “eda”, “modreg”, “mva”, “nls”, “stepfun” and “ts” sono confluiti nel pacchetto “stats”. Anche tutti gli archivi (datasets) contenenti serie storiche sono stati spostati in quest’ultimo package. “graphics” contiene tutti gli strumenti di grafica di base, invece “utils” contiene delle utility del sistema tra cui i comandi per help, l’installazione e la rimozione di nuovi packages, il lancio di sessioni dimostrative delle funzionalità del programma (demo), etc.. Con la release 2.0.0 disponibile dal 4 ottobre 2004 si sono avute ulteriori modifiche e aggiornamenti. Tra le principali novità

1) è stato implementato un nuovo sistema di caricamento del programma e dei packages detto ‘lazy loading’: al posto di mantenere in memoria gli oggetti di R, questi sono memorizzati in un database su disco rigido e caricati solo al primo uso. Ciò consente un più veloce start up con una riduzione del 40% rispetto alla versione 1.9.x e un uso più efficiente della memoria dell’elaboratore;

2) tutti i datasets che prima si trovavano nei packages “base” e “stats” sono stati inseriti in un nuovo package denominato “datasets”;

3) il package “graphics” è stato diviso in due pacchetti “grDevices” (dispositivi grafici condivisi tra i grafici di base e quelli del package “grid”) e “graphics” (grafici di base);

Riteniamo i packages sopraccitati i più significativi che abbracciano le più importanti e diffuse tipologie di analisi statistiche dei dati, sul sito del The Comprehensive R Archive Network - CRAN (all'URL sopraccitata) è possibile scaricare più di duecentocinquanta packages che spaziano nei più disparati campi della statistica applicata. In conclusione di paragrafo si vuole segnalare un ambiente molto specialistico basato su R, formato da una collezione di packages e funzioni: si tratta di “Rmetrics”[15] che può essere un utile strumento per l’insegnamento e le applicazioni legate alle analisi finanziarie e alla finanza computazionale.


Vito Ricci

Successivo: Breve disamina di alcune risorse disponibili su R

Sommario: Index