Come eliminare righe con valori na utilizzando dplyr


Puoi utilizzare i seguenti metodi dal pacchetto dplyr per rimuovere righe con valori NA:

Metodo 1: rimuovi le righe con valori NA in qualsiasi colonna

 library (dplyr)

#remove rows with NA value in any column
df %>%
  n / A. omit ()

Metodo 2: rimuovi le righe con valori NA in determinate colonne

 library (dplyr)

#remove rows with NA value in 'col1' or 'col2'
df %>%
  filter_at(vars(col1, col2), all_vars( ! is. na (.)))

Metodo 3: rimuovi le righe con valori NA in una colonna specifica

 library (dplyr)

#remove rows with NA value in 'col1'
df %>%
  filter( ! is. na (col1))

I seguenti esempi mostrano come utilizzare questi metodi nella pratica con il seguente frame di dati:

 #create data frame with some missing values
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C'),
                 points=c(99, 90, 86, 88, NA),
                 assists=c(33, NA, 31, 39, 34),
                 rebounds=c(NA, 28, 24, 24, 28))

#view data frame
df

  team points assists rebounds
1 A 99 33 NA
2 A 90 NA 28
3 B 86 31 24
4 B 88 39 24
5 C NA 34 28

Metodo 1: rimuovi le righe con valori NA in qualsiasi colonna

Il codice seguente mostra come rimuovere righe con valori NA in qualsiasi colonna del frame di dati:

 library (dplyr)

#remove rows with NA value in any column
df %>%
  n / A. omit ()

  team points assists rebounds
3 B 86 31 24
4 B 88 39 24

Le uniche due righe rimanenti sono quelle senza valori NA in nessuna colonna.

Metodo 2: rimuovi le righe con valori NA in determinate colonne

Il codice seguente mostra come rimuovere righe con valori NA in qualsiasi colonna del frame di dati:

 library (dplyr)

#remove rows with NA value in 'points' or 'assists' columns
df %>%
  filter_at(vars(points, assists), all_vars( ! is. na (.)))

  team points assists rebounds
1 A 99 33 NA
2 B 86 31 24
3 B 88 39 24

Le uniche righe rimanenti sono quelle senza alcun valore NA nelle colonne “punti” o “assist”.

Metodo 3: rimuovi le righe con valori NA in una colonna specifica

Il codice seguente mostra come rimuovere righe con valori NA in una colonna specifica del frame di dati:

 library (dplyr)

#remove rows with NA value in 'points' column
df %>%
  filter( ! is. na (dots))

  team points assists rebounds
1 A 99 33 NA
2 A 90 NA 28
3 B 86 31 24
4 B 88 39 24

Le uniche righe rimanenti sono quelle senza alcun valore NA nella colonna “punti”.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni utilizzando dplyr:

dplyr: come filtrare le righe contenenti determinate stringhe
dplyr: come sostituire i valori NA con zero
dplyr: come utilizzare un filtro “non incluso”.

Aggiungi un commento

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