La sintassi di base del linguaggio R
La sintassi di R, pur essendo semplice, richiede attenzione ai dettagli e una comprensione profonda dei suoi elementi.
Variabili e assegnazioni
Iniziamo definendo le variabili. Queste sono come contenitori di dati, che possono assumere diverse forme: numeri, stringhe, booleani.
In R, possiamo assegnare valori alle variabili in due modi:
- L'operatore <-
Ad esempio, alla variabile "altezza" viene assegnato il valore 180.altezza <- 180
- L'operatore =
Ad esempio, alla variabile "nome" viene assegnato il valore "Giovanni".nome = "Giovanni"
Strutture di dati
Passiamo ora alle strutture di dati. R gestisce con facilità diversi tipi di strutture, essenziali per organizzare e manipolare i dati.
- Vettori
I vettori sono fondamentali in R, sono creati con la funzione c(). Ad esempio, per creare un vettore chiamato "voti" con quattro valori all'interno puoi scrivere.voti <- c(18, 21, 24, 30)
Ogni elemento in `voti` rappresenta un voto specifico. Per accedere al primo elemento del vettore basta scriverevoti[1]
- Matrici
Una matrice è una struttura bidimensionale, dove ogni elemento è dello stesso tipo. Per definire una matrice in R si usa la funzione matrix. Ad esempio, per creare una matrice 3x3 di numeri interimatrice_punti <- matrix(1:9, nrow = 3)
- Liste
Le liste possono contenere elementi di tipi diversi. Sono strutture di dati molto versatili perché possono contenere collezioni di dati eterogenee. Ecco un esempio di lista.> dati_studente <- list(nome="Marco", eta=22, voti=c(24, 27))
Per accedere al nome dello studente puoi scriveredati_studente$nome
- Data Frames
Sono simili alle tabelle con colonne di diversi tipi. Ecco un esempio pratico di una tabella che contiene diverse informazioni sugli studenti:studenti_df <- data.frame(nome=c("Laura", "Paolo"), eta=c(23, 25))
Per accedere alla colonna delle etàstudenti_df$eta
Controllo del flusso
Nell'analisi dei dati, spesso dobbiamo eseguire operazioni condizionali o ripetitive.
Le strutture condizionali
La principale struttura condizionale è la struttura if-else che esegue un blocco di codice solo se si verifica una particolare condizione.
if (voto >= 18) {
print("Promosso")
} else {
print("Bocciato")
}
Le strutture iterative
Le strutture iterative, invece, realizzano cicli con un numero di iterazioni prefissato oppure indeterminato, perché legato al verificarsi di una particolare condizione di uscita.
Nel linguaggio R puoi usare due strutture cicliche:
- Cicli For
Realizzano un ciclo con un numero predefinito di iterazioni. Sono usati anche per iterare nelle strutture di dati.
voti <- c(18, 21, 24, 30)
for (i in voti) {
print(i)
} - Cicli While
Queste strutture realizzano delle iterazioni basate su una condizione. Possono eseguire un numero determinato o indeterminato di iterazioni. Ecco un esempio pratico:
count <- 1voti <- c(18, 21, 24, 30)
count=0
while (count <= length(voti)) {
print(voti[count])
count <- count + 1
}
Funzioni
Le funzioni in R sono blocchi di codice riutilizzabili. Sono definite con la parola chiave `function` e possono avere parametri e un valore di ritorno.
calcolaMedia <- function(voti) {
somma <- sum(voti)
n <- length(voti)
return(somma / n)
}
Una volta creata la funzione, puoi richiamarla da più punti del programma, evitando così di riscrivere più volte lo stesso codice.
voti <- c(18, 21, 24, 30)
media <- calcolaMedia(voti)
print(media)
I commenti
I commenti sono essenziali per la leggibilità del codice. Nel linguaggio R puoi inserire un commento dopo il carattere #.
Ecco un esempio di commento:
# Calcolo della media dei voti
media <- calcolaMedia(voti)
Le righe con il commento non sono eseguite, né interpretate. Servono solo a ricordarsi cosa fa quella parte del codice.
In questo tutorial abbiamo visto i principali aspetti della sintassi del linguaggio R. Nelle prossime lezioni approfondiremo i singoli aspetti di ogni argomento.