Introduzione a dplyr
Lezione 6 di 14 del corso Manipolazione dei dati in R di Coddy.
Il pacchetto dplyr è un potente strumento per la manipolazione dei dati in R. Fornisce un insieme di funzioni che permettono di trasformare e analizzare facilmente i frame di dati in modo efficiente. In questa lezione ci concentreremo su tre funzioni chiave: select(), filter() e mutate().
Caricare dplyr
Ecco un esempio di come caricare il pacchetto:
# Carica dplyr
library(dplyr)Funzione select()
La funzione select() permette di scegliere colonne specifiche da un frame di dati:
# Crea un data frame di esempio
df <- data.frame(
name = c("Alice", "Bob", "Charlie"),
age = c(25, 30, 35),
city = c("New York", "London", "Paris")
)
# Seleziona colonne specifiche
result <- select(df, name, age)
print(result)Output:
name age
1 Alice 25
2 Bob 30
3 Charlie 35Funzione filter()
La funzione filter() permette di selezionare un sottoinsieme di righe in base a condizioni specifiche:
# Filtra le righe in cui age è maggiore di 28
result <- filter(df, age > 28)
print(result)Output:
name age city
1 Bob 30 London
2 Charlie 35 ParisFunzione mutate()
La funzione mutate() permette di creare nuove colonne o modificare quelle esistenti:
# Aggiungi una nuova colonna 'age_group'
result <- mutate(df, age_group = ifelse(age < 30, "Young", "Adult"))
print(result)Output:
name age city age_group
1 Alice 25 New York Young
2 Bob 30 London Adult
3 Charlie 35 Paris AdultOperatore pipe %>%
dplyr introduce l'operatore pipe %>%, che permette di concatenare più operazioni:
result <- df %>%
filter(age > 28) %>%
select(name, city) %>%
mutate(location = paste(name, "lives in", city))Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Sfida
FacileElabora un data frame con le informazioni sui dipendenti usando le funzioni di dplyr. Esegui le seguenti operazioni:
- Seleziona solo le colonne "name", "age" e "salary"
- Filtra i dati per includere solo i dipendenti che hanno almeno 30 anni
- Aggiungi una nuova colonna chiamata "bonus", pari al 10% dello stipendio per i dipendenti di almeno 40 anni e al 5% per gli altri
- Ordina il data frame in base allo stipendio in ordine decrescente
- Stampa il data frame risultante.
Provalo tu
# Carica la libreria necessaria
suppressPackageStartupMessages(library(dplyr))
# Leggi l'input
con <- file("stdin", "r")
input_data <- suppressWarnings(readLines(con))
# Crea un data frame dall'input
df <- read.csv(text = input_data, stringsAsFactors = FALSE)
# TODO: Scrivi il tuo codice qui sotto per elaborare il data frame
process_employee_data <- function(df) {
# Il tuo codice qui
# Usa le funzioni di dplyr per:
# 1. Selezionare le colonne
# 2. Filtrare i dati
# 3. Aggiungere una colonna per il bonus
# 4. Ordinare per stipendio
return(df) # Sostituisci questo con il data frame elaborato
}
# Elabora il data frame
result <- process_employee_data(df)
# Stampa il risultato
print(result)Tutte le lezioni di Manipolazione dei dati in R
Esercitati da solo: Compilatore R online