Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Spesso in R, analizzando grandi dataset potremmo trovare diversi valori mancanti (missing values). L’ analisi dei valori mancanti fa parte del prepocessing dei dati. I dati mancanti possono essere causati da una varietà di ragioni, come errori di acquisizione dati, errori di input o semplicemente perché alcuni dati non sono disponibili. In R, questi valori mancanti sono rappresentati dal simbolo NA (not available) NON DISPONIBILE. Per quanto riguarda i valori numerici impossibili (per esempio una divisione di un numero per zero) sono rappresentati dal simbolo NaN (not a number) NON UN NUMERO.
Se per esempio dobbiamo calcolare una media o qualsiasi funzione che si prende un numero come argomento, se ci troviamo variabili di tipo Na oppure NaN allora non è possibile applicare la funzione. A tal proposito abbiamo in R la possibilità di gestire questi valori con semplici funzioni:
y <- c(1,2,3,NA) is.na(y) [1] FALSE FALSE FALSE TRUE
Passando come argomento un vettore, is.na restituisce un vettore con valori booleani dove TRUE corrisponde alla posizione con valori NA.
mydata$naV<- NA
NOTA: Qualsiasi funzione aritmetica sui valori mancanti restituisce valori mancanti.
> x <- c(1,2,NA,3)
> mean(x) # restituisce NA
[1] NA
> mean(x, na.rm=TRUE) # restituisce 2
[1] 2
La funzione complete.cases() ci lista un vettore logico dove è messo in evidenza quali valori sono mancanti.
> complete.cases(x)
[1] TRUE TRUE FALSE TRUE
[1] 2
Un altra funzione di semplice utilizzo è na.omit che restituisce l’oggetto escludendo i valori mancanti.
> na.omit(x)
[1] 1 2 3
attr(,"na.action")
[1] 3
attr(,"class")
[1] "omit"
A differenza di SAS, le funzioni di R per i valori mancanti non distingue i dati numerici dagli altri quindi na.omit o na.rm=TRUE esclude sia i valori NA che i valori Nan.
Se abbiamo l’esigenza di imputare variabili condizionali da altre variabili è possibile utilizzare il package di R Amelia. Un altro package interessante è mice che basa l’imputazione dei valori mancanti su procedure di tipo bayesiano.
Se vuoi approfondire guarda tutti i tutorial di Data input oppure torna su R tutorial.