Saltar al contenido principal
eLearner.app
Módulo 4 · Lección 1 de 27/10 en el curso~12 min
Lecciones del módulo (1/2)

Filtrare e Selezionare Dati

Il Tidyverse è una collezione di pacchetti R progettati per la data science che condividono la stessa filosofia di progettazione e struttura dati. Il pacchetto principale per la manipolazione dei dati in questa suite si chiama dplyr.

dplyr introduce una serie di funzioni ("verbi") che rendono intuitiva la manipolazione di data frame.


L'Operatore Pipe (%>% o |>)

La filosofia del Tidyverse si basa sulla concatenazione delle operazioni. L'operatore pipe %>% (o l'operatore nativo |> introdotto in R 4.1+) prende il risultato di un'espressione e lo passa come primo argomento alla funzione successiva. Questo evita di nidificare continuamente le funzioni o creare troppe variabili temporanee.

Code
# Senza pipe:
filter(select(df, name, age), age > 20)

# Con la pipe:
df %>%
  select(name, age) %>%
  filter(age > 20)

Verbi di dplyr per Filtrare e Selezionare

I tre verbi fondamentali per estrarre informazioni da un data frame sono:

1. select()

Seleziona colonne specifiche del data frame. Puoi elencare i nomi delle colonne che vuoi mantenere o escludere usando il segno -.

Code
# Seleziona le colonne 'name' e 'salary'
select(df, name, salary)

# Rimuovi la colonna 'address'
select(df, -address)

2. filter()

Filtra le righe in base a una o più condizioni logiche.

Code
# Filtra le righe dove age è maggiore di 30
filter(df, age > 30)

# Filtra con condizioni multiple (AND logico)
filter(df, age > 30, department == "HR")

3. arrange()

Ordina le righe in base ai valori di una o più colonne. Di default l'ordinamento è crescente. Per l'ordinamento decrescente si usa desc().

Code
# Ordina per age (crescente)
arrange(df, age)

# Ordina per salary (decrescente)
arrange(df, desc(salary))

Prova tu

Esercizio 1: Seleziona colonne

Ejercicio#r.m4.l1.e1
Intentos: 0Cargando...

Dato il data frame df, seleziona le colonne name e age usando la funzione select() e salva il risultato in df_selected.

Cargando editor...
Mostrar pista

Usa: df_selected <- select(df, name, age)

Solución disponible después de 3 intentos

Ejercicio#r.m4.l1.e2
Intentos: 0Cargando...

Filtra le righe del data frame df in cui la colonna age è strettamente maggiore di 18, salvando il risultato in df_adults.

Cargando editor...
Mostrar pista

Usa la funzione filter(df, age > 18) e assegna il risultato a df_adults.

Solución disponible después de 3 intentos

Ejercicio#r.m4.l1.e3
Intentos: 0Cargando...

Usa l'operatore pipe %>% per concatenare le operazioni: seleziona prima la colonna name dal data frame df, poi filtra mantenendo solo i record con age > 18. Salva in res.

Cargando editor...
Mostrar pista

Scrivi: res <- df %>% filter(age > 18) %>% select(name)

Solución disponible después de 3 intentos

Ejercicio#r.m4.l1.e4
Intentos: 0Cargando...

Ordina le righe del data frame df in base alla colonna salary in ordine decrescente usando arrange() e desc(). Salva in df_sorted.

Cargando editor...
Mostrar pista

Usa arrange(desc(salary)) all'interno di una pipeline o come argomento diretto.

Solución disponible después de 3 intentos

Ejercicio#r.m4.l1.e5
Intentos: 0Cargando...

Scrivi una pipeline completa su df: filtra i record con department uguale a 'IT', seleziona le colonne name e salary, e ordina il risultato in base a salary (ordine crescente). Salva il risultato finale in res.

Cargando editor...
Mostrar pista

Usa la pipe %>% per concatenare filter(department == 'IT'), select(name, salary), e arrange(salary).

Solución disponible después de 3 intentos