Lezioni del modulo (1/2)
I Data Frame
A differenza delle matrici, che possono contenere elementi di un solo tipo, i Data Frame rappresentano la struttura dati tabellare più utilizzata in R per analizzare dati reali.
Un Data Frame è una tabella in cui ogni colonna può contenere dati di tipo differente (es. una colonna numerica, una testuale e una logica), ma tutte le colonne devono avere la stessa lunghezza.
Creare un Data Frame
Per creare un Data Frame si utilizza la funzione data.frame(), definendo i nomi delle colonne ed assegnando loro dei vettori:
# Creazione di un data frame di esempio
students <- data.frame(
name = c("Alice", "Bob", "Charlie"),
grade = c(28, 24, 30),
passed = c(TRUE, TRUE, TRUE)
)
print(students)
Accedere a Colonne e Righe
Esistono diversi modi per estrarre e manipolare i dati di un Data Frame:
- Uso dell'operatore dollaro
$: Consente di estrarre una singola colonna sotto forma di vettore.Codegrades <- students$grade # grades sarà il vettore c(28, 24, 30) - Uso delle parentesi quadre
[riga, colonna]: Simile alle matrici.Code# Primo studente (prima riga) first_student <- students[1, ]
Filtrare i Dati
Uno dei punti di forza di R è la capacità di filtrare i record in base a condizioni logiche:
# Selezioniamo solo gli studenti con voto superiore a 25
good_students <- students[students$grade > 25, ]
print(good_students)
Dimensioni e Modifica di Data Frame
Per conoscere le dimensioni di un Data Frame (il numero di righe e di colonne), possiamo usare la funzione dim():
# Restituisce un vettore con due elementi: c(righe, colonne)
dimensions <- dim(students)
Possiamo anche aggiungere nuove colonne o aggiornare quelle esistenti usando direttamente l'operatore $:
# Aggiunge una colonna con i voti aumentati di 2 punti
students$bonus_grade <- students$grade + 2
Prova tu
Crea un Data Frame chiamato students contenente due colonne: name (con valori 'Alice' e 'Bob') e grade (con valori 28 e 24).
Mostra suggerimento
Usa la funzione data.frame: students <- data.frame(name = c('Alice', 'Bob'), grade = c(28, 24))
Soluzione disponibile dopo 3 tentativi
Dato il Data Frame students, estrai la colonna grade usando l'operatore $ e salvala nella variabile grades_vector.
Mostra suggerimento
Usa l'operatore $: grades_vector <- students$grade
Soluzione disponibile dopo 3 tentativi
Filtra il Data Frame students per includere solo gli studenti con grade maggiore o uguale a 26, salvando il risultato in good_students.
Mostra suggerimento
Usa students[students$grade >= 26, ] senza dimenticare la virgola per selezionare tutte le colonne.
Soluzione disponibile dopo 3 tentativi
Dato il data frame df, ottieni le sue dimensioni usando la funzione dim() e salvale nella variabile df_dim.
Mostra suggerimento
Usa la funzione dim(): df_dim <- dim(df)
Soluzione disponibile dopo 3 tentativi
Dato il data frame inventory, aggiungi una nuova colonna chiamata total_value calcolata come il prodotto delle colonne price e quantity.
Mostra suggerimento
Usa: inventory$total_value <- inventory$price * inventory$quantity
Soluzione disponibile dopo 3 tentativi