[R] Data frame with 3 columns to matrix

Michael Bach phaebz at gmail.com
Tue Apr 19 09:46:47 CEST 2011

Dear R Users,

Lets assume I have this data frame:

     x y   z
1 1.00 5 0.5
2 1.02 5 0.7
3 1.04 7 0.1
4 1.06 9 0.4

x and y columns are sorted and the values not necessarily integers.  z
values are not sorted.  Now I would like to create a matrix out of this
with x as first column values and y as first row values.  Matrix element
a_11 shall be left NA.  The a_ij should have the z value for the
corresponding x and y pair.  The result shall be some sort of a grid and
then e.g. look like:

     [,1] [,2] [,3] [,4] [,5]
[1,]   NA    5    6    7    9 (y)
[2,] 1.00  0.5   NA   NA   NA
[3,] 1.02  0.7   NA   NA   NA
[4,] 1.04   NA   NA  0.1   NA
[5,] 1.06   NA   NA   NA  0.4

This example is just for illustration.  The resulting matrix should have
more numeric values than NA's.

I hope I made myself clear.  Any hints on how to achieve this?  Is there
already a function that does it?  All searches I did pointed me to data
type frame to matrix conversion...

Kind Regards,
Michael Bach

More information about the R-help mailing list