For contour plots, some of the contour functions in graphics packages (lattice for one IIRC) are pretty good at understanding that columns in a matrix correspond to x,y, and z values already. ******** There are many ways to do this in R. For very simple problems, this one is convenient: library(ecodist) newdata <- crosstab(mydata$x, mydata$y, mydata$z) For more complicated problems, reshape is very powerful. Sarah
On Tue, Dec 14, 2010 at 5:13 PM, jonathan <jon_at_than.biz> wrote:
> > That's so weird, I just signed up on here to ask exactly the same question! > > However, I think my issue is like Jessica's who says that her data is like > that, not actually that... > > So the issue is not in generating that data on-the-fly but in transforming > it from a data frame to a matrix. > > As a more concrete example, I have read the following data in from a file > (around 300,000 rows): > > x y z > 0 0 687 > 0 1 64 > 0 2 71 > 0 3 55 > 0 4 52 > 0 5 51 > 0 6 38 > 0 7 38 > 0 8 54 > 0 9 49 > ......... > ......... > ......... > 304979 282977 1 > 351377 1547980 1 > 383835 1740541 1 > 418133 6024710 1 > 421549 1028572 1 > 471314 1751836 1 > 579602 1817393 1 > 713515 5524385 1 > > > So what I want to do is transform this into a matrix where at position (x,y) > in the matrix I have value z. I am doing this so that I can then do a > filled.contour plot on the data. > > I think this is the same as what Jessica is asking... > > Regards and many thanks, > > Jonathan > UCL Computer Science