Skip to content
Prev 244921 / 398502 Next

from table to matrix

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