Menu
Coddy logo textTech

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 35

Funzione 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  Paris

Funzione 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     Adult

Operatore 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))
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

challenge icon

Sfida

Facile

Elabora un data frame con le informazioni sui dipendenti usando le funzioni di dplyr. Esegui le seguenti operazioni:

  1. Seleziona solo le colonne "name", "age" e "salary"
  2. Filtra i dati per includere solo i dipendenti che hanno almeno 30 anni
  3. Aggiungi una nuova colonna chiamata "bonus", pari al 10% dello stipendio per i dipendenti di almeno 40 anni e al 5% per gli altri
  4. Ordina il data frame in base allo stipendio in ordine decrescente
  5. 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