Come eseguire l'eliminazione listwise in r (con esempio)


L’eliminazione listwise è un metodo che elimina tutte le righe in un frame di dati che presentano un valore mancante in una colonna.

Il modo più semplice per eseguire l’eliminazione listwise in R è utilizzare la seguente sintassi:

 complete_df <- df[complete. boxes (df), ]

Questa sintassi utilizza la funzione complete.cases() per creare un nuovo frame di dati che contiene solo quelle righe di un frame di dati originale che non hanno valori mancanti in nessuna colonna.

L’esempio seguente mostra come utilizzare questa funzione nella pratica.

Esempio: eseguire l’eliminazione listwise in R

Supponiamo di avere il seguente frame di dati in R che contiene informazioni su vari giocatori di basket:

 #create data frame
df <- data. frame (rating=c(70, 75, 75, 78, 81, 85, 89, 91, 94, 97),
                 points=c(12, 15, 14, 13, NA, 29, 24, 18, 20, 25),
                 assists=c(9, 5, NA, 5, 7, 8, 11, 12, 13, 11))

#view data frame
df

   rating points assists
1 70 12 9
2 75 15 5
3 75 14 NA
4 78 13 5
5 81 NA 7
6 85 29 8
7 89 24 11
8 91 18 12
9 94 20 13
10 97 25 11

Si noti che due righe contengono valori NA in alcune colonne.

Possiamo utilizzare la seguente sintassi per eseguire un’eliminazione listwise e mantenere solo le righe che non hanno valori mancanti in nessuna colonna:

 #create new data frame that only contains rows with no missing values
complete_df <- df[complete. boxes (df), ]

#view new data frame
complete_df

   rating points assists
1 70 12 9
2 75 15 5
4 78 13 5
6 85 29 8
7 89 24 11
8 91 18 12
9 94 20 13
10 97 25 11

Tieni presente che nessuna delle righe in questo nuovo frame di dati ha valori vuoti in nessuna colonna.

Tieni inoltre presente che potremmo utilizzare la funzione nrow() per determinare quante righe nel frame di dati originale avevano valori mancanti in qualsiasi colonna:

 #count how many rows have missing values in any column
nrow(df[ ! complete. cases (df), ])

[1] 2

Questo ci dice che 2 righe nel frame di dati originale avevano valori mancanti in almeno una colonna.

E possiamo contare altrettanto facilmente quante righe non hanno valori mancanti in nessuna colonna:

 #count how many rows do not have missing values in any column
nrow(df[complete. cases (df), ])

[1] 8

Questo ci dice che 8 righe del frame di dati originale non avevano valori mancanti in nessuna colonna.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come trovare e contare i valori mancanti in R
Come interpolare i valori mancanti in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *