Lezioni del modulo (1/2)
Variabili e Vettori
R è un linguaggio di programmazione e un ambiente software specializzato nell'analisi statistica dei dati, nella data visualization e nel machine learning.
A differenza di altri linguaggi general-purpose, R è stato progettato da statistici per statistici, rendendo le operazioni di manipolazione e aggregazione di vettori e matrici estremamente intuitive.
Variabili e Assegnamento
In R, la convenzione standard per assegnare un valore a una variabile consiste nell'utilizzare l'operatore freccia sinistra <-, composto dal carattere minore < seguito dal trattino -.
Sebbene l'operatore = sia valido nella maggior parte dei contesti, la comunità di R preferisce <- per distinguere chiaramente l'assegnamento di variabili dal passaggio di argomenti all'interno delle funzioni.
# Assegniamo il valore 42 alla variabile age
age <- 42
# Possiamo stampare il valore usando la funzione print()
print(age)
I Vettori
La struttura dati fondamentale in R è il vettore (vector). Un vettore è una collezione ordinata di elementi dello stesso tipo. In R, anche un singolo numero (uno scalare) è tecnicamente trattato come un vettore di lunghezza 1.
Per creare un vettore con più elementi, si utilizza la funzione di concatenazione c():
# Creiamo un vettore con i primi quattro numeri pari
even_numbers <- c(2, 4, 6, 8)
print(even_numbers)
Operazioni sui Vettori
R supporta le operazioni vettorializzate. Quando si applica un operatore aritmetico a un vettore, R applica l'operazione a ciascun elemento del vettore singolarmente (elemento per elemento):
prices <- c(10, 20, 30)
# Moltiplica ogni prezzo per 2
doubled_prices <- prices * 2
# Il risultato sarà c(20, 40, 60)
Se operiamo su due vettori della stessa lunghezza, l'operazione viene eseguita termine a termine:
v1 <- c(1, 2, 3)
v2 <- c(10, 20, 30)
v3 <- v1 + v2
# Il risultato sarà c(11, 22, 33)
Sequenze e Nomi di Vettori
R fornisce strumenti potenti per generare sequenze di numeri. Oltre all'operatore : (es. 1:10), possiamo usare la funzione seq() per definire un incremento personalizzato:
# Genera numeri da 1 a 5 con incremento di 0.5
custom_seq <- seq(from = 1, to = 5, by = 0.5)
Inoltre, gli elementi di un vettore possono avere dei nomi associati che ne facilitano l'identificazione, impostabili tramite la funzione names():
temperatures <- c(22, 24)
names(temperatures) <- c("Mon", "Tue")
Prova tu
Assegna il valore 10 alla variabile x e il valore 20 alla variabile y usando l'operatore <-.
Mostra suggerimento
Scrivi: x <- 10 e nella riga successiva: y <- 20
Soluzione disponibile dopo 3 tentativi
Crea un vettore contenente i valori 5, 10, 15, 20 e assegnalo alla variabile chiamata numbers.
Mostra suggerimento
Usa la funzione c() in questo modo: numbers <- c(5, 10, 15, 20)
Soluzione disponibile dopo 3 tentativi
Dati i vettori v1 e v2, calcola la loro somma e assegna il risultato alla variabile total.
Mostra suggerimento
Somma direttamente i due vettori: total <- v1 + v2
Soluzione disponibile dopo 3 tentativi
Crea una sequenza di numeri da 1 a 10 con incremento di 2 usando la funzione seq() e assegnala alla variabile my_seq.
Mostra suggerimento
Usa la funzione seq(): my_seq <- seq(from = 1, to = 10, by = 2)
Soluzione disponibile dopo 3 tentativi
Dato il vettore sales <- c(100, 150), assegna i nomi 'Mon' e 'Tue' al vettore usando la funzione names().
Mostra suggerimento
Imposta names(sales) <- c('Mon', 'Tue')
Soluzione disponibile dopo 3 tentativi