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
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 vengono gestiti correttamente.

Rilevamento dei valori mancanti

Il primo passo è verificare dove e in quale quantità mancano i dati 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 fornisce un'idea chiara di quali colonne presentano dati mancanti e della gravità del problema.

Rimozione dei valori mancanti

A volte il modo più semplice per gestire i dati mancanti è rimuovere le righe che contengono qualsiasi valore 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

È inoltre possibile gestire l'imputazione 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 che i valori mancanti vengano gestiti in modo coerente e che la colonna rimanga valida per la reportistica o la modellizzazione.

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?

Awesome!

Completion rate improved to 4

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 vengono gestiti correttamente.

Rilevamento dei valori mancanti

Il primo passo è verificare dove e in quale quantità mancano i dati 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 fornisce un'idea chiara di quali colonne presentano dati mancanti e della gravità del problema.

Rimozione dei valori mancanti

A volte il modo più semplice per gestire i dati mancanti è rimuovere le righe che contengono qualsiasi valore 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

È inoltre possibile gestire l'imputazione 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 che i valori mancanti vengano gestiti in modo coerente e che la colonna rimanga valida per la reportistica o la modellizzazione.

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