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.

Alcune caratteristiche del linguaggio R

R è un linguaggio orientato alla programmazione ad oggetti (object-oriented) molto completo, con caratteristiche specifiche finalizzate alle elaborazioni statistiche e matematiche dei dati nei più svariati ambiti scientifici e di ricerca. Come per ogni linguaggio di programmazione, l'approccio corretto al linguaggio R non può prescindere da una attenta fase di studio. Oltre alla documentazione ufficiale, curata dal progetto CRAN, traviamo nel Web numerose documentazioni, tutorial, script e dispense di corsi universitari. Non mancano le pubblicazioni di libri e manuali per l'apprendimento di R oppure dedicati all'utilizzo di R in specifici settori disciplinari.

Per esplorare le caratteristiche del linguaggio R non basterebbe di certo un articolo, ma qui voglio soltanto citarne alcune tra le principali che possano essere di introduzione alla comprensione della tipologia di linguaggio. 

Linguaggio di alto livello interpretato ed elaborazione interattiva

R è un linguaggio di programmazione di alto livello interpretato basato principalmente sul paradigma di programmazione funzionale Com'è noto, sono classificati di alto livello quei linguaggi di programmazione che utilizzano termini linguistici naturali "astratti" rispetto al linguaggio macchina (basso livello), più vicini al lessico e alla logica umana, in modo di eseguire con una sola istruzione operazioni che comportano più istruzioni di linguaggio macchina. Esempi noti di linguaggi di alto livello sono il Fortran, Basic, C#, Python, Java, R, etc.

Per essere eseguito dal calcolatore, il linguaggio di alto livello deve essere tradotto in linguaggio macchina. La traduzione di un programma scritto con con un linguaggio di alto livello può avvenire linea per linea oppure traducendo l'intero programma.

Nel primo caso si parlerà di linguaggio interpretato: l'interprete traduce in linguaggio macchina una linea di programma alla volta e la esegue. Invece, la traduzione completa di un programma scritto in un linguaggio compilato avviene ad opera del compilatore, che si occupa di linkare tutti i file del codice sorgente di cui si compone il programma, insieme alle librerie esterne utilizzate, tradurre il tutto in linguaggio macchina ed assemblare un unico file eseguibile (ad esempio un file .exe) dal sistema operativo.

Si intuisce come un programma compilato abbia prestazioni di velocità superiori rispetto ad uno interpretato. Di contro, l'interprete consente di eseguire "al volo" istruzioni, anche complesse, seguendo, passo dopo passo, la sequenza delle operazioni dell'algoritmo supportati da un efficace controllo del codice attraverso le funzioni di debug.

Le caratteristiche del linguaggio interpretato le ritroviamo in R. All'avvio di R viene mostrata la finestra della console interattiva (la R Console in Windows, mentre in Linux si utilizza il Terminale) in cui eseguire comandi ed espressioni.

PCpercaso.com :: R Console - R Console.

I programmi sono sequenze di istruzioni (espressioni) che possono essere eseguite interattivamente, una alla volta, direttamente dal prompt della console, oppure lette da un file script, tradotte ed eseguite in sequenza dall'interprete.

L'utilizzo interattivo di R lo rende una calcolatrice scientifica estremamente evoluta. Attraverso il set completo di operatori matematici di R è possibile eseguire in maniera interattiva calcoli di notevole complessità sulle strutture dati. I risultati delle espressioni possono essere assegnati a variabili (oggetti) e successivamente utilizzate in ulteriori espressioni.

 

Struttura dati e Oggetti

Una importante caratteristica di R riguarda la struttura dati e gli operatori di alto livello che permettono di compiere operazioni su array e matrici. Le strutture dati di R sono:

  • Vettori: oggetti unidimensionali formati da una sequenza ordinata di dati omogenei: numerici o caratteri o logici.
  • Matrici: oggetti bidimensionali (estensione bidimensionale dei vettori) in righe e colonne di dati omogenei; le colonne rappresentano le variabili e le righe le osservazioni.
  • Array: estensioni multimensionali delle matrici.
  • Data frame: oggetti bidimensionali come le matrici, ma in cui le colonne sono tra loro di dati eterogenei; ad esempio un data frame composto da una colonna di numeri interi, una di caratteri, una di valori logici, etc.
  • Liste: insieme ordinato di oggetti eterogenei di tipo anche differente tra loro; ad esempio una lista composta da: una matrice, un vettore di numeri, un vettore di caratteri, un valore logico e una ulteriore lista.
  • Fattori: strutture che assumono solo valori discreti (ordinali o qualitativi) detti “livelli”; generalmente utilizzati per etichettare gli elementi di altre strutture dati.

Operatori di alto livello

Uno dei punti di forza di R è la capacità di manipolare e compiere operazioni con le strutture di dati attraverso operatori di alto livello. Ad esempio, per i vettori e le matrici è possibile selezionare e visualizzare parte di essi, ordinare e riorganizzare gli elementi, ricercare elementi, ritornare valori logici, compiere operazioni algebriche tra matrici, vettori o tra scalari e vettori. 

Il tutto utilizzando espressioni con operatori senza scrivere righe di codice che fanno uso delle classiche strutture di controllo iterative (cicli for, while, do-while, etc.).

Rappresentazioni Grafiche con R

In ambito statistico, e non solo, la rappresentazione grafica delle informazioni costituisce essa stessa un elemento di analisi dei dati. Infatti, oltre al calcolo di specifici indicatori sintetici, una adeguata rappresentazione grafica di un insieme di osservazioni è in grado di svelare rapidamente molte informazioni sul fenomeno osservato e sulla sua evoluzione nel tempo.

Per ragioni di questo tipo, anche la rappresentazione grafica dei dati assume in R un ruolo fondamentale mettendo a disposizione funzioni di plotting che consentono di produrre grafici di alta qualità. L'output grafico utilizza diversi device driver che comprendono sia la visualizzazione a schermo per gli sistemi Linux e in generale Unix-like (X11 Window System), Windows e macOS che l'esportazione verso i principali formati grafici quali PostScript (stampanti e file grafici), PDF, PNG e JPEG. 

PCpercaso.com :: Grafici con R - Grafici.

Le funzioni di plotting del core di R consentono di produrre grafici di alta qualità sono suddivise in tre gruppi fondamentali:

  • Alto livello: creare un grafici con assi, etichette, titoli ed altro.
  • Basso livello: aggiungere ulteriori informazioni ad un grafico esistente, come punti, linee, etichette, titoli e sottotitoli, leggende.
  • Interactive: consentono di aggiungere o estrarre informazioni in modo interattivo da un grafico esistente utilizzando un dispositivo di puntamento come il mouse.

Segue: Download e Installazione di R