[R] Factors and NaN
Lee, Chel Hee
chl948 at mail.usask.ca
Fri Dec 5 19:40:48 CET 2014
'NaN' is a reserved keyword that implies 'Not a number'. I see that you
use a character vector that includes 'NA' and 'NaN'. The former 'NA' is
considered as a missing value; however, the latter 'NaN' is considered
as a string 'NaN'. That's why three levels of 'NaN', 'no', 'yes' are
shown.
Function 'is.nan()' test if a numeric value is 'NaN'. Since you are
using a character vector, the result of using 'is.nan()' should be all
FALSE.
If you wish to make R understand 'NaN' as missing value, it would be a
good choice to use reserved keyword 'NA_character' as shown in the below:
> x <- factor(c("yes", "yes", "no", NA, "yes", "no", NA_character_))
> x
[1] yes yes no <NA> yes no <NA>
Levels: no yes
> is.na(x)
[1] FALSE FALSE FALSE TRUE FALSE FALSE TRUE
I hope this helps.
Chel Hee Lee
On 12/5/2014 9:16 AM, Dinesh Chowdhary wrote:
> R-3.1.2
>
>> x <- factor(c("yes", "yes", "no", NA, "yes", "no", NaN))
>> x
> [1] yes yes no <NA> yes no NaN
> Levels: NaN no yes
>> is.nan(x)
> [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
>
>>From the above snippet can you notice that the "NaN" value is not logically
> identified in a vector? Can anyone elaborate on this?
>
> Thank you for your effort!
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
More information about the R-help
mailing list