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))
RIl 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))
RA 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))
RAnche 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))
ROsservando 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))
RIl 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"
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.
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.