matrix() can't handle NaN (PR#193)
Bill Simpson <wsimpson@gcal.ac.uk> writes:
So just which one do you mean? And what are you going to achieve by having essentially a second NA, except to blur the real purposes of NaNs?
Well to me NA means missing value, and it is abuse of NA to use it to represent things like 0/0.
And actually the logic is a bit warped:
NA+NaN
[1] NA
NaN+NA
[1] NA
NaN+NaN
[1] NaN
is.nan(NaN)
[1] TRUE
is.nan(NA)
[1] FALSE
is.na(NaN)
[1] TRUE
The purpose of having NaN to me: I am allowed to get an NaN as a result of some operation in R. Let's say I then save that in a file, then I read the file in again using read.table. In the process of saving and reading it in I lose the NaN. I don't like that. It doesn't seem consistent. If the NaN is to be changed, I would like to do the changing explicitly myself, so I know what happened to it. I would also include Inf and -Inf here. These are allowed outputs from R operations, so why can't they be read in by read.table? So I am proposing that allowable IEEE entities Inf, -Inf, NaN be read in by read.table as themselves (not as character strings).
We do allow them as constants in the language itself, so I suppose we
could do it in read.table as well - this really means inside
as.double, I suppose. The prototype does this:
Splus> is.nan(as.double("NaN"))
[1] T
PS: I remember reading on this list about complex numbers in R. That brings in a conflict with IEEE (doesn't it?), because in IEEE, sqrt(negative number)->NaN. But that is not a NaN if you allow complex numbers (I would think).
sqrt(-1)
Warning: NaNs produced in function "sqrt" [1] NaN Is there a need for an "I" symbol in R?
Nope:
sqrt(-1+0i)
[1] 0+1i or, equivalently,
sqrt(as.complex(-1))
[1] 0+1i
O__ ---- Peter Dalgaard Blegdamsvej 3 c/ /'_ --- Dept. of Biostatistics 2200 Cph. N (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907 -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._