matrix() can't handle NaN (PR#193)
Perhaps this should be in a FAQ list ...
data<-read.table("~/junk.dat",header=TRUE, na.strings="NaN")
data
x y z 1 1 1 1 2 1 2 2 3 2 1 NA 4 2 2 4
x<-unique(data$x) y<-unique(data$y) matrix(data$z,length(y),length(x))
[,1] [,2] [1,] 1 NA [2,] 2 4 "NaN" (Not a Number) as seen in debuggers, etc., is not the same as "NA" as a "not available/applicable" value in R.
On Tue, 11 May 1999, Bill Simpson wrote:
On Tue, 11 May 1999, Kurt Hornik wrote:
wsi writes:
Full_Name: Bill Simpson Version: 0.64.1 OS: linux Submission from: (NULL) (193.62.250.209)
Here is the data file: x y z 1 1 1 1 2 2 2 1 NaN 2 2 4
data<-read.table("~/junk.dat",header=TRUE)
data
x y z 1 1 1 1 2 1 2 2 3 2 1 NaN 4 2 2 4
I forgot these steps: x<-unique(data$x) y<-unique(data$y)
matrix(data$z,length(y),length(x))
[,1] [,2] [1,] 1 4 [2,] 2 3
This is not the correct matrix. It seems that NaNs screw up matrix().
Actually, data$z is a factor with one level NaN.
Geez, I why is data$z a factor? That seems bizarre. It is supposed to be the measured value (IV) at each combination of x and y. So what is the right way to convert my original file? I go through all this just to produce an image or contour or persp plot.
R> data$z [1] 1 2 NaN 4 Levels: 1 2 4 NaN
Weird! Is this because matrix() interprets NaN as a character string instead of as an NaN (which is a "number", isn't it?)? Why then isn't everything converted to a factor?
data$x
[1] 1 1 2 2
data$y
[1] 1 2 1 2 Also, why does matrix() work as I expect when the NaN in the file is changed to a 0:
matrix(data$z,length(y),length(x))
[,1] [,2] [1,] 1 0 [2,] 2 4 It also works as I expect when the NaN is changed to an NA:
matrix(data$z,length(y),length(x))
[,1] [,2] [1,] 1 NA [2,] 2 4
What you get is the codes of that, which I think is what you want.
NOPE! I want a matrix: 1 NaN 2 4 Bill -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- 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 _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
Benjamin Bolker Dep't of Ecology and Evolutionary Biology, ben@eno.princeton.edu Princeton University tel: (609) 258-6886, fax: (609) 258-1334 -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- 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 _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._