Vai al contenuto
eLearner.app
Modulo 5 · Lezione 1 di 29/10 nel corso~12 min
Lezioni del modulo (1/2)

Grammatica e Geometrie di Base

La visualizzazione dei dati in R è dominata da ggplot2, un pacchetto basato sulla "Grammatica dei Grafici" (Grammar of Graphics). Questa teoria scompone i grafici in componenti semantici indipendenti, come i dati, le mappature estetiche e gli elementi geometrici.


La Struttura di ggplot2

Ogni grafico creato con ggplot2 inizia con la chiamata alla funzione ggplot(), alla quale associamo un data frame e definiamo come mappare le colonne del data frame alle proprietà visive tramite la funzione aes() (aesthetics).

Successivamente, aggiungiamo strati geometrici usando l'operatore + (attenzione: si usa + e non %>% in ggplot2).

La struttura di base è:

Code
ggplot(data = <DATA_FRAME>, mapping = aes(<ESTETICHE>)) +
  <GEOMETRIA>()

Proprietà Estetiche (aes) e Geometrie (geom_*)

La funzione aes() definisce quali variabili dei dati controllano gli attributi del grafico:

  • x: Posizione sull'asse orizzontale.
  • y: Posizione sull'asse verticale.
  • color: Colore dei punti o delle linee.
  • fill: Colore di riempimento di forme chiuse (es. barre).
  • size: Dimensione degli elementi.

Le geometrie (geom_) definiscono il tipo di visualizzazione grafica:

1. Grafico a dispersione (geom_point())

Ideale per mostrare la relazione tra due variabili numeriche.

Code
ggplot(df, aes(x = age, y = income)) +
  geom_point()

2. Grafico a linee (geom_line())

Spesso usato per dati temporali o serie storiche.

Code
ggplot(df, aes(x = year, y = sales)) +
  geom_line()

3. Grafico a barre (geom_bar() e geom_col())

geom_bar() conta la frequenza di ciascuna categoria di default, mentre geom_col() rappresenta direttamente i valori presenti in una colonna y.

Code
# Rappresenta il valore della colonna 'sales' per ogni 'category'
ggplot(df, aes(x = category, y = sales)) +
  geom_col()

Prova tu

Esercizio 1: Crea un grafico a dispersione di base

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

Crea un grafico a dispersione (scatter plot) utilizzando il data frame df. Mappa la colonna height sull'asse x e la colonna weight sull'asse y. Usa geom_point().

Caricamento editor…
Mostra suggerimento

Assicurati di usare ggplot(df, aes(x = height, y = weight)) + geom_point()

Soluzione disponibile dopo 3 tentativi

Esercizio 2: Aggiungi un colore basato sui dati

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

Modifica il grafico precedente mappando la proprietà color sulla colonna gender all'interno di aes() per colorare i punti in base al genere.

Caricamento editor…
Mostra suggerimento

Includi color = gender all'interno di aes(), ad esempio: aes(x = height, y = weight, color = gender).

Soluzione disponibile dopo 3 tentativi

Esercizio 3: Grafico a linee

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

Crea un grafico a linee usando df. Mappa la colonna year sull'asse x e la colonna sales sull'asse y. Aggiungi il livello geometrico geom_line().

Caricamento editor…
Mostra suggerimento

Usa ggplot(df, aes(x = year, y = sales)) + geom_line()

Soluzione disponibile dopo 3 tentativi

Esercizio 4: Grafico a barre con geom_col

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

Crea un grafico a colonne per visualizzare il valore dei dati. Mappa la colonna category sull'asse x e la colonna value sull'asse y. Usa la geometria geom_col().

Caricamento editor…
Mostra suggerimento

Usa ggplot(df, aes(x = category, y = value)) + geom_col()

Soluzione disponibile dopo 3 tentativi

Esercizio 5: Combina più geometrie

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

In ggplot2 puoi sovrapporre strati geometrici. Crea un grafico che combini sia geom_point() che geom_smooth() mappando x_val sull'asse x e y_val sull'asse y.

Caricamento editor…
Mostra suggerimento

Aggiungi sia geom_point() che geom_smooth() separati dal segno '+'.

Soluzione disponibile dopo 3 tentativi