Come utilizzare na.omit in r (con esempi)


È possibile utilizzare la funzione na.omit() in R per rimuovere tutti i casi incompleti in un vettore, matrice o frame di dati.

Questa funzione utilizza la seguente sintassi di base:

 #omit NA values from vector
x <- na. omitted (x)

#omit rows with NA in any column of data frame
df <- na. omitted (df)

#omit rows with NA in specific column of data frame
df <- df[ ! (is. na (df$column)), ]

I seguenti esempi mostrano come utilizzare questa funzione nella pratica.

Esempio 1: omettere i valori NA dal vettore

Il codice seguente mostra come omettere tutti i valori NA da un vettore:

 #definevector
x <- c(1, 24, NA, 6, NA, 9)

#omit NA values from vector
x <- na. omitted (x)

x

[1] 1 24 6 9
attr(,"na.action")
[1] 3 5
attr(,"class")
[1] “omitted”

La prima riga dell’output mostra il vettore senza valori NA mentre le due righe successive mostrano informazioni aggiuntive sulla posizione dei valori NA.

Possiamo usare il seguente codice per restituire semplicemente il vettore senza i valori NA:

 #definevector
x <- c(1, 24, NA, 6, NA, 9)

#omit NA values from vector
x <- as. numeric (na. omit (x))

x

[1] 1 24 6 9

Esempio 2: omettere le righe con NA in qualsiasi colonna del frame di dati

Il codice seguente mostra come omettere tutte le righe con valori NA in qualsiasi colonna di un frame di dati:

 #define data frame
df <- data. frame (x=c(1, 24, NA, 6, NA, 9),
                 y=c(NA, 3, 4, 8, NA, 12),
                 z=c(NA, 7, 5, 15, 7, 14))

#view data frame
df

   X Y Z
1 1 NA NA
2 24 3 7
3 NA 4 5
4 6 8 15
5 NA NA 7
6 9 12 14

#omit rows with NA value in any column data frame
df <- na. omitted (df)

#view data frame 
df

   X Y Z
2 24 3 7
4 6 8 15
6 9 12 14

Esempio 3: omettere le righe con NA in una colonna specifica del frame di dati

Per omettere righe con valori NA in una colonna specifica di un frame di dati, in realtà è più semplice utilizzare la funzione is.na() come segue:

 #define data frame
df <- data. frame (x=c(1, 24, NA, 6, NA, 9),
                 y=c(NA, 3, 4, 8, NA, 12),
                 z=c(NA, 7, 5, 15, 7, 14))

#view data frame
df

   X Y Z
1 1 NA NA
2 24 3 7
3 NA 4 5
4 6 8 15
5 NA NA 7
6 9 12 14

#remove rows with NA value in x column
df <- df[ ! (is. na (df$x)), ]

#view data frame 
df

   X Y Z
1 1 NA NA
2 24 3 7
4 6 8 15
6 9 12 14

Risorse addizionali

Come utilizzare “Non è NA” in R
Come utilizzare is.null in R
Come imputare tutti i valori mancanti in R
Come sostituire i NA con stringhe in R

Aggiungi un commento

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