[R] create a matrix with values from data.frame

jim holtman jholtman at gmail.com
Sat Mar 19 23:00:24 CET 2011


Here is one way to fill in the value using indexing; it appears that
you data has the same xloc/yloc values

> x
  xloc yloc   go ind  Ene  totW
1   23   20  516   1 0.02 20.21
2   23   20 1143   1 0.02 20.21
3   23   20  250   1 0.02 20.21
4   22   15  251   1 0.02 18.69
5   22   15  598   1 0.02 18.69
6   21   19  250   1 0.02 20.21
7   22   20  251   1 0.02 18.69
8   22   20  598   1 0.02 18.69
> x.mat <- matrix(NA, 95, 55)  # create matrix
> x.mat[cbind(x$xloc, x$yloc)] <- x$totW
> which(!is.na(x.mat), arr.ind =TRUE)
     row col
[1,]  22  15
[2,]  21  19
[3,]  22  20
[4,]  23  20
>


On Sat, Mar 19, 2011 at 5:29 PM, Nicolas Gutierrez <nicolasg at uw.edu> wrote:
> Hello,
>
> I'm trying to create a matrix (95x55) with data from a data.frame pop:
>
>  xloc yloc      go  ind    Ene     totW
>  1    23  20   516   1     0.02   20.21
>  2    23  20  1143   1     0.02   20.21
>  3    23  20   250   1     0.02   20.21
>  4    22  15   251   1     0.02   18.69
>  5    22  15   598   1     0.02   18.69
>  6    21  19   250   1     0.02   20.21
>  7    22  20   251   1     0.02   18.69
>  8    22  20   598   1     0.02   18.69
>
> where xloc is the x dimension,  yloc the y dimension, and totW the values
> for each cell (xloc,yloc) in my matrix (55x95):
>
> I'm trying:
>
> Bio=with(pop, (table(factor(totW, levels = 1:55), factor(totW, levels =
> 1:95))))
>
> But I don't get what I want. Hints? Thanks!
>
> Nic
>
> ______________________________________________
> 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.
>



-- 
Jim Holtman
Data Munger Guru

What is the problem that you are trying to solve?



More information about the R-help mailing list