I tipi di dati in R da conoscere

Come in ogni altro linguaggio di programmazione, anche nella programmazione in R sono presenti diversi tipi di dati grazie ai quali i programmatori e le programmatrici possono strutturare meglio il loro codice. Oltre ai tipi di dati di base, in R esistono anche tipi di dati più complessi.

A cosa servono i tipi di dati in R?

Spesso, quando si programma, è necessario elaborare i dati. Per poter memorizzare questi dati in modo sensato, gli sviluppatori e le sviluppatrici possono scegliere fra diversi tipi di dati nella maggior parte dei linguaggi di programmazione. Alcuni esempi di tipi di dati sono i numeri e le catene di caratteri.

Di norma, per tipi di dati diversi sono definiti degli operatori R differenti. Pertanto, i tipi di dati aiutano i programmatori e le programmatrici anche a elaborare i dati in forma adeguata e quindi ad aumentare l’efficienza dei programmi.

I diversi tipi di dati in R

In R esistono vari tipi di dati. Alcuni di questi dovrebbero esserti già noti da altri linguaggi di programmazione, a meno che tu non abbia appena iniziato a imparare a programmare. Per eseguire un controllo del tipo di dati in R, puoi utilizzare il comando R class(), che accetta una variabile a piacere come parametro di passaggio e restituisce il tipo di dati di tale variabile come risultato.

Tipi di dati numerici

I tipi di dati numerici fanno parte dei tipi di dati di base in R e servono a rappresentare valori numerici. Si distinguono fra numeric per i numeri reali, integer per i numeri interi e complex per i numeri complessi con parte immaginaria.

x <- 3.14
y <- 42
z <- 3 + 2i
print(class(x))
print(class(y))
print(class(z))
R

Il risultato di questo codice si presenta così:

"numeric"
"numeric"
"complex"

A questo punto potresti chiederti come mai il tipo di dati numeric sia riportato due volte, nonostante la variabile y sia un integer o numero intero. La spiegazione è semplice: gli interi in R sono sempre anche numeric. Per comunicare all’interprete che si tratta effettivamente di un intero, devi aggiungere il suffissoL ai numeri interi che utilizzi:

y <- 42L
print(class (y))
R

A questo punto, richiamando la funzione come sopra indicato si ottiene il risultato previsto:

"integer"

Catene di caratteri

Per rappresentare un testo o un carattere puoi ricorrere al tipo di dati character. I dati di questo tipo, detti stringhe in R, possono essere contrassegnati in R con virgolette semplici o doppie:

x <- "Ciao mondo!"
y <- 'Hello world!'
print(class(x))
print(class(y))
R

Anche in questo caso puoi usare la funzione class() per visualizzare il tipo di dati delle variabili utilizzate:

"character"
"character"

Tipi di dati logici

Le variabili con tipo di dati logico, che in R vanno sotto la denominazione logical, sono valutate dall’interprete come TRUE o FALSE. In questo modo è possibile formalizzare condizioni o espressioni logiche. Spesso è necessario farlo per gestire il flusso di controllo del programma.

x <- TRUE
y <- FALSE
print(class(x))
print(class(y))
R

Osservando il tipo di dati delle due variabili noterai che è stato loro assegnato il tipo di dati logical:

"logical"
"logical"

Dati grezzi

Il linguaggio di programmazione R dispone di un apposito tipo di dati per mostrare le variabili come sequenza di byte. Questo tipo di dati in R si chiama raw. Per convertire i tuoi dati in dati grezzi, utilizza la funzione charToRaw(). Per il processo inverso è disponibile la funzione rawToChar().

Il codice seguente mostra come convertire una stringa in una sequenza di byte con il tipo di dati raw:

x <- "Ciao mondo!"
y <- charToRaw(x)
print(y)
print(class(y))
R

Il codice precedente dà come risultato innanzitutto la sequenza di byte sotto forma di numeri esadecimali. A seguire, la chiamata della funzione class() permette di visualizzare il tipo di dati della variabile y:

43 69 61 6f 20 6d 6f 6e 64 6f 21
"raw"
N.B.

In R è anche possibile convertire i dati in un altro tipo di dati. Spesso questa modifica è particolarmente facile in R: nel caso di una stringa composta da un numero (ad esempio “42”) è possibile convertirla nel tipo di dati numeric per mezzo di una semplice addizione con 0.

Strutture dati in R

Oltre ai tipi di dati di base, in R sono disponibili varie strutture dati diverse, grazie alle quali i programmatori e le programmatrici possono strutturare meglio i loro dati. Queste strutture dati, come i data frame R, sono più complesse dei semplici tipi di dati e sono spesso multidimensionali.

Consiglio

Ti piacerebbe imparare a programmare in R? Allora pubblica sul web il tuo nuovo progetto in R con uno spazio web comprensivo di hosting adattabile alle tue esigenze.

Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.