A: conta il numero di valori na in ciascuna colonna
È possibile utilizzare i seguenti metodi per contare il numero di valori NA in ciascuna colonna di un frame di dati in R:
Metodo 1: contare i valori NA in ciascuna colonna utilizzando la base R
sapply(df, function (x) sum(is. na (x)))
Metodo 2: contare i valori NA in ciascuna colonna utilizzando dplyr
library (dplyr) df %>% summarise(across(everything(), ~ sum(is. na (.))))
Gli esempi seguenti mostrano come utilizzare ciascun metodo con il seguente frame di dati in R:
#create data frame df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'), points=c(99, 90, 86, 88, NA), assists=c(33, NA, NA, 39, 34), rebounds=c(30, 28, 24, 24, 28)) #view data frame df team points assists rebounds 1 A 99 33 30 2 B 90 NA 28 3 C 86 NA 24 4 D 88 39 24 5 E NA 34 28
Esempio 1: conta i valori NA in ciascuna colonna utilizzando la base R
Il codice seguente mostra come contare il numero di valori NA in ciascuna colonna utilizzando la funzione R base sapply() :
#count NA values in each column sapply(df, function (x) sum(is. na (x))) team points assists rebounds 0 1 2 0
Dal risultato possiamo vedere:
- La colonna della squadra ha 0 valori NA.
- La colonna dei punti ha il valore 1 NA.
- La colonna degli assist ha 2 valori NA.
- La colonna dei rimbalzi ha 0 valori NA.
Nota : la funzione sapply() può essere utilizzata per applicare una funzione a ciascuna colonna nel frame di dati. In questo esempio applichiamo una funzione che conta il numero totale di elementi pari a NA.
Esempio 2: contare i valori NA in ciascuna colonna utilizzando dplyr
Il codice seguente mostra come contare il numero di valori NA in ciascuna colonna utilizzando la funzione summarise() del pacchetto dplyr :
#count NA values in each column sapply(df, function (x) sum(is. na (x))) team points assists rebounds 0 1 2 0
Dal risultato possiamo vedere:
- La colonna della squadra ha 0 valori NA.
- La colonna dei punti ha il valore 1 NA.
- La colonna degli assist ha 2 valori NA.
- La colonna dei rimbalzi ha 0 valori NA.
Questi risultati corrispondono a quelli dell’esempio precedente.
Nota : il metodo dplyr tende ad essere più veloce del metodo R di base quando si lavora con frame di dati estremamente grandi.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in R:
Come utilizzare na.omit in R
Come utilizzare complete.cases in R
Come rimuovere le righe vuote dal frame di dati in R