jiho <jo.irisson <at> gmail.com> writes:

> 
> Hello all,
> 
> I am sure I am missing something obvious but I cannot find the  
> function I am looking for. I have a data frame with three columns: X,  
> Y and Z, with X and Y being grid coordinates and Z the value  
> associated with these coordinates. I want to transform this data  
> frame in a matrix of Z values, on the grid defined by X and Y (and,  
> as a plus, fill the X.Y combinations which do no exist in the  
> original data frame with NAs in the resulting matrix). I could do  
> this manually but I guess the appropriate function should be  
> somewhere around. I just can't find it.

I have used xtabs in the past, but xtabs returns 0 instead of NA, which makes 
great for cross-tabulation, the "offending" line is x[is.na(x)] <- 0. So you 
would need to either modify the xtabs function or trust that z is never 0 and 
replace all 0's with NA.

> mydat <- expand.grid(x=1:5, y=1:5)
> mydat <- data.frame(mydat, z=rnorm(25))
> mydat$z[sample(1:25,4)] <- NA
> mytab <- xtabs(z~x+y, mydat)

Mark Lyman

______________________________________________
R-help@stat.math.ethz.ch mailing list
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.

Reply via email to