Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Gestione Dei Dati Mancanti | Manipolazione e Pulizia dei Dati
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Analisi dei Dati con R

bookGestione Dei Dati Mancanti

I dati mancanti sono un problema comune nei dataset del mondo reale. Possono influire sull'accuratezza dell'analisi e portare a risultati fuorvianti se non gestiti correttamente.

Rilevamento dei valori mancanti

Il primo passo consiste nel verificare dove e quanto sono presenti dati mancanti nel dataset.

is.na(df)              # returns a logical matrix of TRUE/FALSE
sum(is.na(df))         # total number of missing values
colSums(is.na(df))     # missing values per column

Questo permette di identificare chiaramente quali colonne presentano dati mancanti e la gravità del problema.

Rimozione dei valori mancanti

A volte il modo più semplice per gestire i dati mancanti è rimuovere le righe che contengono valori NA. Questo garantisce che il dataset sia pulito, ma può anche comportare una significativa perdita di dati se molte righe sono interessate.

Base R

La funzione na.omit() rimuove tutte le righe con valori mancanti dal dataset.

df_clean <- na.omit(df)
sum(is.na(df_clean))

dplyr

La stessa operazione può essere eseguita utilizzando la funzione drop_na().

df_clean <- df %>%
  drop_na()

Questo approccio è semplice e funziona bene quando la quantità di dati mancanti è ridotta, ma potrebbe non essere ideale se molte righe vengono rimosse nel processo.

Sostituzione dei valori mancanti

Invece di eliminare le righe, un approccio più efficace è l'imputazione, in cui i valori mancanti vengono sostituiti con stime significative. Questo consente di preservare la dimensione del dataset riducendo il bias. Una strategia comune per le variabili numeriche è sostituire i valori mancanti con la media della colonna.

Base R

È possibile utilizzare l'indicizzazione logica con is.na() per individuare i valori mancanti e assegnare loro la media della colonna.

df$selling_price[is.na(df$selling_price)] <- mean(df$selling_price, na.rm = TRUE)

dplyr

L'imputazione può essere gestita anche utilizzando ifelse() all'interno di mutate().

df <- df %>%
  mutate(selling_price = ifelse(is.na(selling_price),
                                mean(selling_price, na.rm = TRUE),
                                selling_price))

Riempimento dei valori mancanti nelle colonne categoriche

Per le variabili categoriche (colonne di tipo character o factor), i valori mancanti vengono spesso sostituiti con un segnaposto fisso come "Unknown".

Base R

df$fuel[is.na(df$fuel)] <- "Unknown"

dplyr

La funzione replace_na() offre un modo più ordinato per riempire i valori mancanti.

df <- df %>%
  mutate(fuel = replace_na(fuel, "Unknown"))

Questo approccio garantisce una gestione coerente dei valori mancanti e mantiene la colonna valida per la reportistica o la modellazione.

question mark

Come si sostituisce NA nella colonna fuel con "Unknown"?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 10

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Can you explain the difference between removing and imputing missing values?

How do I decide whether to drop or fill missing data in my dataset?

Can you show more examples of handling missing values in R?

bookGestione Dei Dati Mancanti

Scorri per mostrare il menu

I dati mancanti sono un problema comune nei dataset del mondo reale. Possono influire sull'accuratezza dell'analisi e portare a risultati fuorvianti se non gestiti correttamente.

Rilevamento dei valori mancanti

Il primo passo consiste nel verificare dove e quanto sono presenti dati mancanti nel dataset.

is.na(df)              # returns a logical matrix of TRUE/FALSE
sum(is.na(df))         # total number of missing values
colSums(is.na(df))     # missing values per column

Questo permette di identificare chiaramente quali colonne presentano dati mancanti e la gravità del problema.

Rimozione dei valori mancanti

A volte il modo più semplice per gestire i dati mancanti è rimuovere le righe che contengono valori NA. Questo garantisce che il dataset sia pulito, ma può anche comportare una significativa perdita di dati se molte righe sono interessate.

Base R

La funzione na.omit() rimuove tutte le righe con valori mancanti dal dataset.

df_clean <- na.omit(df)
sum(is.na(df_clean))

dplyr

La stessa operazione può essere eseguita utilizzando la funzione drop_na().

df_clean <- df %>%
  drop_na()

Questo approccio è semplice e funziona bene quando la quantità di dati mancanti è ridotta, ma potrebbe non essere ideale se molte righe vengono rimosse nel processo.

Sostituzione dei valori mancanti

Invece di eliminare le righe, un approccio più efficace è l'imputazione, in cui i valori mancanti vengono sostituiti con stime significative. Questo consente di preservare la dimensione del dataset riducendo il bias. Una strategia comune per le variabili numeriche è sostituire i valori mancanti con la media della colonna.

Base R

È possibile utilizzare l'indicizzazione logica con is.na() per individuare i valori mancanti e assegnare loro la media della colonna.

df$selling_price[is.na(df$selling_price)] <- mean(df$selling_price, na.rm = TRUE)

dplyr

L'imputazione può essere gestita anche utilizzando ifelse() all'interno di mutate().

df <- df %>%
  mutate(selling_price = ifelse(is.na(selling_price),
                                mean(selling_price, na.rm = TRUE),
                                selling_price))

Riempimento dei valori mancanti nelle colonne categoriche

Per le variabili categoriche (colonne di tipo character o factor), i valori mancanti vengono spesso sostituiti con un segnaposto fisso come "Unknown".

Base R

df$fuel[is.na(df$fuel)] <- "Unknown"

dplyr

La funzione replace_na() offre un modo più ordinato per riempire i valori mancanti.

df <- df %>%
  mutate(fuel = replace_na(fuel, "Unknown"))

Questo approccio garantisce una gestione coerente dei valori mancanti e mantiene la colonna valida per la reportistica o la modellazione.

question mark

Come si sostituisce NA nella colonna fuel con "Unknown"?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 10
some-alt