Come rimuovere le righe vuote dal frame di dati in r


È possibile utilizzare i seguenti metodi per rimuovere righe vuote da un frame di dati in R:

Metodo 1: rimuovi le righe con NA in tutte le colonne

 df[rowSums(is. na (df)) != ncol(df), ]

Metodo 2: rimuovere le righe con NA in almeno una colonna

 df[complete. boxes (df), ]

Gli esempi seguenti mostrano come utilizzare ciascun metodo nella pratica.

Esempio 1: elimina le righe con NA in tutte le colonne

Supponiamo di avere il seguente frame di dati in R:

 #create data frame
df <- data. frame (x=c(3, 4, NA, 6, 8, NA),
                 y=c(NA, 5, NA, 2, 2, 5),
                 z=c(1, 2, NA, 6, 8, NA))

#view data frame
df

   X Y Z
1 3 NA 1
2 4 5 2
3 NA NA NA
4 6 2 6
5 8 2 8
6 NA 5 NA

Possiamo utilizzare il seguente codice per rimuovere le righe dal frame di dati che hanno valori NA in ciascuna colonna:

 #remove rows with NA in all columns
df[rowSums(is. na (df)) != ncol(df), ]

   X Y Z
1 3 NA 1
2 4 5 2
4 6 2 6
5 8 2 8
6 NA 5 NA

Tieni presente che la riga contenente i valori NA in ciascuna colonna è stata rimossa.

Esempio 2: elimina le righe con NA in almeno una colonna

Supponiamo ancora di avere il seguente frame di dati in R:

 #create data frame
df <- data. frame (x=c(3, 4, NA, 6, 8, NA),
                 y=c(NA, 5, NA, 2, 2, 5),
                 z=c(1, 2, NA, 6, 8, NA))

#view data frame
df

   X Y Z
1 3 NA 1
2 4 5 2
3 NA NA NA
4 6 2 6
5 8 2 8
6 NA 5 NA

Possiamo usare il seguente codice per rimuovere le righe dal frame di dati che hanno valori NA in almeno una colonna:

 #remove rows with NA in at least one column
df[complete. boxes (df), ]

  X Y Z
2 4 5 2
4 6 2 6
5 8 2 8

Tieni presente che tutte le righe con un valore NA in almeno una colonna sono state rimosse.

Correlato: Come utilizzare complete.cases in R (con esempi)

Risorse addizionali

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

Come creare un frame di dati vuoto in R
Come creare un elenco vuoto in R
Come creare un vettore vuoto in R

Aggiungi un commento

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