[R] Odp: Data frame with 3 columns to matrix

Petr PIKAL petr.pikal at precheza.cz
Tue Apr 19 12:57:59 CEST 2011


Hi

r-help-bounces at r-project.org napsal dne 19.04.2011 09:46:47:

> 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
>       (x)
> 
> This example is just for illustration.  The resulting matrix should have
> more numeric values than NA's.

I am not sure if this is the solution you want

tab<-xtabs(z~x+y, data=df)
tab[tab==0]<-NA

Regards
Petr

> 
> 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
> 
> ______________________________________________
> R-help at r-project.org 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.



More information about the R-help mailing list