Operazioni sui dati nel linguaggio R
In questo tutorial sul linguaggio R concentriamo l'attenzione su tre aspetti fondamentali delle operazioni sui dati: la selezione, il filtraggio e l'ordinamento dei dati.
A cosa servono? Questi strumenti ti permettono di esplorare le caratteristiche e le relazioni nascosti in un insieme di dati.
Per prima cosa, crea un data frame, ci servirà per fare degli esempi
- df <- data.frame(
- Nome = c("Alice", "Bob", "Carla", "David", "Eva"),
- Età = c(25, 35, 45, 20, 30),
- Punteggio = c(88, 92, 95, 70, 85)
- )
Questo data frame si chiama "df".
E' una semplice struttura dati a tabella composta da tre colonne e cinque righe.
Nome | Età | Punteggio |
---|---|---|
Alice | 25 | 88 |
Bob | 35 | 92 |
Carla | 45 | 95 |
David | 20 | 70 |
Eva | 30 | 85 |
Con questo data frame vedremo come fare la selezione, il filtraggio e l'ordinamento dei dati.
L'installazione della libreria dplyr
Per utilizzare i comandi di questo tutorial devi aver già installato la libreria dplyr su R.
Cos'è la libreria dplyr? E' una libreria di funzioni progettate per semplificare e velocizzare le operazioni comuni di gestione dei dati. Fornisce una serie di funzioni ottimizzate per filtrare, selezionare, ordinare e riassumere dati. Tra le quali le funzioni select(), slice(), filter() e arrange() che useremo in questo tutorial. E' uno dei pacchetti più popolari per l'analisi dei dati con il linguaggio R.
Come si installa?
Se non l'hai ancora installata, puoi farlo usando questa istruzione install.packages("dplyr")
install.packages("dplyr")
Una volta installato questo pacchetto, puoi richiamarlo tramite l'istruzione library("dplyr") in qualsiasi sessione o programma scritto in R.
library(dplyr)
A questo punto è tutto pronto per studiare la selezione, il filtraggio e l'ordinamento dei dati.
Selezione dei dati
La selezione dei dati è il processo di estrarre specifiche colonne o righe da un dataset.
Selezione di colonne
Per selezionare le colonne di un dataframe devi utilizzare il comando select() del pacchetto dplyr.
Supponi di voler selezionare solo la colonna "Nome" del dataframe "df". Per farlo dovresti scrivere:
df_selected <- select(df, Nome)
L'istruzione select() seleziona la colonna chiamata "Nome" e la salva nella variabile "df_selected".
print(df_selected)
Nome
1 Alice
2 Bob
3 Carla
4 David
5 Eva
Allo stesso modo puoi selezionare due o più colonne contemporaneamente.
Ad esempio, seleziona le colonne "Nome" e "Età" del dataframe "df".
df_selected <- select(df, Nome, Età)
In questo caso nella variabile "df_selected" sono memorizzate due colonne.
print(df_selected)
Nome Età
1 Alice 25
2 Bob 35
3 Carla 45
4 David 20
5 Eva 30
Selezione di righe
Per selezionare specifiche righe, puoi usare l'istruzione slice() del pacchetto dplyr.
Ad esempio, per selezionare la prima e la terza riga del data frame "df", digita questo comando:
df_sliced <- slice(df, c(1, 3))
L'istruzione slice seleziona le due righe e le salva nella variabile "df_sliced".
print(df_sliced)
Nome Età Punteggio
1 Alice 25 88
2 Carla 45 95
Filtraggio dei dati
Il filtraggio è l'operazione che seleziona le righe di dati in base a uno specifico criterio.
Per filtrare i dati di un data frame puoi usare la funzione filter() del pacchetto dplyr.
Ad esempio, seleziona le righe (record) del data frame in cui il campo Età>30 è maggiore di trenta.
df_filtered <- filter(df, Età > 30)
Questo comando filtra i dati in base al criterio indicato e salva le righe nella variabile db_filtered.
print(df_filtered)
Nome Età Punteggio
1 Bob 35 92
2 Carla 45 95
Volendo puoi anche combinare più condizioni.
Ad esempio, puoi filtrare i dati selezionando le persone con un'età compresa fra 20 e 30.
df_filtered <- filter(df, Età >= 20, Età<=30)
In questo caso c'è un doppio criterio di filtraggio Età>=20 e Età<=30.
La funzione filter() seleziona i record che soddisfano entrambi i criteri.
print(df_filtered)
Nome Età Punteggio
1 Alice 25 88
2 David 20 70
3 Eva 30 85
Ordinamento dei dati
L'ordinamento dei dati si riferisce all'organizzazione delle righe in un ordine specifico.
Per ordinare i dati in modo crescente o decrescente, puoi usare la funzione arrange() del pacchetto dplyr.
Ordinamento crescente
Usa l'istruzone arrange()` per ordinare il dataframe "df" in base alla colonna Età in modo crescente:
df_sorted <- arrange(df, Età)
Questo comando ordina il data frame in base al campo Età e lo salva nella variabile "df_sorted".
print(df_sorted)
Nome Età Punteggio
1 David 20 70
2 Alice 25 88
3 Eva 30 85
4 Bob 35 92
5 Carla 45 95
Ordinamento decrescente
Per ordinare i dati del data frame in modo decrescente, usa la funzione arrange() indicando la clausola "desc()":
df_sorted <- arrange(df, desc(Età))
In quesot caso i dati sono ordinati in base al campo Età dal valore più grande a quello più piccolo.
print(df_sorted)
Nome Età Punteggio
1 Carla 45 95
2 Bob 35 92
3 Eva 30 85
4 Alice 25 88
5 David 20 70
Queste operazioni di base sono estremamente potenti in R perché possono essere combinate in vari modi per estrarre informazioni significative dai tuoi dati.