Valori mancanti (in R)
I valori mancanti (missing values), di qualunque tipo di variabile, vengono indicati dal codice NA
, che significa not available — non disponibile.
Il codice NaN
(Not a Number) indica invece i valori numerici impossibili, quali ad esempio un valore numerico diviso 0.
I valori NaN
sono conteggiati da R come NA
, mentre non è vero il contrario.
Se una variabile contiene valori mancanti, R non è in grado di applicare ad essa alcune Funzioni, come ad esempio la media. Per questa ragione, la gran parte delle funzioni di R prevedono modi specifici per trattare i valori mancanti.
is.na()
Per sapere quali casi sono mancanti in una variabile:
is.na(ChickWeight$weight)
L'output indicherà con TRUE
le celle che contengono NA
o NaN
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE [14] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE [27] FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE ...
Per selezionare i casi validi di una variabile:
ChickWeight$weight[is.na(ChickWeight$weight)==FALSE] # oppure ChickWeight$weight[!is.na(ChickWeight$weight)==TRUE] # oppure ancora ChickWeight$weight[!is.na(ChickWeight$weight)]
(Vedi anche: Indicizzazione; Operatori).
Valori mancanti e dataframe
Per sapere quali casi contengono valori mancanti in un Dataframe :
ChickWeight[!complete.cases(ChickWeight),] [1] weight Time Chick Diet <0 rows> (or 0-length row.names)
Per creare un nuovo Dataframe senza valori mancanti:
mynewdata <- na.omit(ChickWeight)