1.2 L’approccio al calcolo statistico di R

R è un software open-source che fornisce un linguaggio di scripting per la statistica e il data science a 360°. Ad oggi è considerato lo strumento più completo e avanzato per svolgere tutte le analisi che il data science e i Big Data richiedono. Non a caso, infatti, tutti i software statistici commerciali disponibili sul mercato come SPSS, SAS, ecc., offrono oggi la possibilità di interfacciarsi con R per integrare le proprie funzionalità con quelle molto più ampie di R.

R è un linguaggio per la manipolazione di “oggetti”. Molto spesso si dice infatti che in R “tutto è un oggetto”. In senso lato, gli oggetti sono strumenti per l’organizzazione di diversi tipi di informazioni. Possiamo pensare agli oggetti come a dei contenitori la cui dimensione e tipo dipende dal suo contenuto. R fornisce molti strumenti per creare, visualizzare e manipolare gli oggetti che ci servono per effettuare le analisi.

Per capire cosa intendiamo con tutto ciò, vi suggeriamo di aprire RStudio e di digitare la seguente riga di codice al prompt dei comandi:

> x <- 5

Il simbolo > rappresenta il prompt dei comandi e non deve essere copiato per l’esecuzione del codice. Una volta digitato, il comando viene eseguito premendo il pulsante INVIO.Il simbolo <-, che corrisponde ai caratteri < (minore di) e - (segno meno), rappresenta l’operatore di assegnazione, ovvero l’operatore con cui vengono creati nuovi oggetti8. Nel precedente esempio abbiamo creato un nuovo oggetto, che abbiamo deciso di chiamare x, ma che avremmo potuto chiamare in qualsiasi altro modo, il quale contiene semplicemente il numero 5. Se la sintassi del comando che eseguiamo è corretta, R non produce messaggi, come nell’esempio sopra. Ciò significa che il comando digitato non presenta errori sintattici.

Per poter visualizzare il contenuto di un oggetto è sufficiente scrivere il nome dell’oggetto e premere INVIO:

> x
[1] 5

Per avere informazioni sulla struttura (ovvero sulle caratteristiche) di un oggetto, ma senza visualizzarne completamente il contenuto, possiamo usare la funzione str(), ad esempio

> str(x)
 num 5

L’output restituito ci informa sul fatto che l’oggetto x contiene un numero (num). La funzione str() può essere usata per ottenere informazioni sulla struttura di qualsiasi oggetto creato in R. Come ulteriore esempio eseguiamo il codice seguente9:

> txt <- c("R", "è", "un", "software", "per", "il", "data", "science")
> str(txt)
 chr [1:8] "R" "è" "un" "software" "per" "il" ...

In questo caso abbiamo creato un nuovo oggetto chiamato txt che contiene un vettore di 8 stringhe di testo (il termine chr che appare all’inizio della riga in output indica che il contenuto dell’oggetto è di questo tipo). L’output della funzione str() ci informa proprio di queste caratteristiche. c() è la funzione per creare un vettore, ovvero un oggetto con una sola dimensione che può contenere elementi dello stesso tipo, in questo caso stringhe di testo10.

Se desiderate mostrare la lista degli oggetti creati finora, potete usare la funzione ls()

> ls()
[1] "txt" "x"  

Ricordiamo che R è case sensitive, ovvero distingue tra caratteri maiuscoli e minuscoli. Infine, se create un nuovo oggetto usando il nome di un oggetto già esistente, chiaramente perderete il vecchio oggetto, il cui contenuto sarà sostituito con quello del nuovo oggetto, ad esempio:

> y <- c(3, 4, -1, 0)
> str(y)
 num [1:4] 3 4 -1 0
> y <- "Viva la Statistica!"
> str(y)
 chr "Viva la Statistica!"

  1. Al posto del simbolo <- è possibile usare il segno di uguale (=), ma per tradizione in R si tende ad utilizzare sempre il primo.

  2. Gli spazi prima e dopo le virgole o gli operatori non sono strettamente necessari, ma contribuiscono a rendere il codice più leggibile.

  3. Una stringa di testo è caratterizzata dal fatto di essere inclusa tra virgolette.