Vai al contenuto
eLearner.app
Modulo 2 · Lezione 1 di 23/10 nel corso~12 min
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:

Code
# 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:

  1. Uso dell'operatore dollaro $: Consente di estrarre una singola colonna sotto forma di vettore.
    Code
    grades <- students$grade
    # grades sarà il vettore c(28, 24, 30)
    
  2. 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:

Code
# 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():

Code
# 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 $:

Code
# Aggiunge una colonna con i voti aumentati di 2 punti
students$bonus_grade <- students$grade + 2

Prova tu

Esercizio#r.m2.l1.e1
Tentativi: 0Caricamento…

Crea un Data Frame chiamato students contenente due colonne: name (con valori 'Alice' e 'Bob') e grade (con valori 28 e 24).

Caricamento editor…
Mostra suggerimento

Usa la funzione data.frame: students <- data.frame(name = c('Alice', 'Bob'), grade = c(28, 24))

Soluzione disponibile dopo 3 tentativi

Esercizio#r.m2.l1.e2
Tentativi: 0Caricamento…

Dato il Data Frame students, estrai la colonna grade usando l'operatore $ e salvala nella variabile grades_vector.

Caricamento editor…
Mostra suggerimento

Usa l'operatore $: grades_vector <- students$grade

Soluzione disponibile dopo 3 tentativi

Esercizio#r.m2.l1.e3
Tentativi: 0Caricamento…

Filtra il Data Frame students per includere solo gli studenti con grade maggiore o uguale a 26, salvando il risultato in good_students.

Caricamento editor…
Mostra suggerimento

Usa students[students$grade >= 26, ] senza dimenticare la virgola per selezionare tutte le colonne.

Soluzione disponibile dopo 3 tentativi

Esercizio#r.m2.l1.e4
Tentativi: 0Caricamento…

Dato il data frame df, ottieni le sue dimensioni usando la funzione dim() e salvale nella variabile df_dim.

Caricamento editor…
Mostra suggerimento

Usa la funzione dim(): df_dim <- dim(df)

Soluzione disponibile dopo 3 tentativi

Esercizio#r.m2.l1.e5
Tentativi: 0Caricamento…

Dato il data frame inventory, aggiungi una nuova colonna chiamata total_value calcolata come il prodotto delle colonne price e quantity.

Caricamento editor…
Mostra suggerimento

Usa: inventory$total_value <- inventory$price * inventory$quantity

Soluzione disponibile dopo 3 tentativi