Questo esempio riproducibile è una versione molto semplificata del mio codice:NaN viene rimosso quando si utilizza na.rm = TRUE
x <- c(NaN, 2, 3)
#This is fine, as expected
max(x)
> NaN
#Why does na.rm remove NaN?
max(x, na.rm=TRUE)
> 3
Per me, NA
(valore mancante) e NaN
(non un numero) sono due completamente entità diverse, perché na.rm
rimuovere NaN
? Come posso ignorare NA
e non NaN
?
ps: sto usando la versione R a 64 bit 3.0.0 su Windows7.
Edit: Al momento ancora un po 'di studio ho scoperto che is.na
restituisce vero per NaN
troppo! Questa è la causa della confusione per me.
is.na(NaN)
> TRUE
Sì, ho appena notato questo comportamento. La mia idea del valore mancante deve cambiare. – Nishanth
@ e4e5f4 Probabilmente non avrei scelto questo comportamento, stavo progettando la lingua. Ma è quello che è. –
È interessante notare che l'aiuto per 'sum' afferma che' na.rm = TRUE' rimuoverà sia 'NaN' che' NA' (mentre '? Extremes') no. – mnel