[R] Efficient way to use data frame of indices to initialize matrix

Cutler, Gene gcutler at amgen.com
Tue Dec 7 19:31:24 CET 2010


I have a data frame with three columns, x, y, and a.  I want to create a matrix from these values such that for matrix m:
m[x,y] == a

Obviously, I can go row by row through the data frame and insert the value a at the correct x,y location in the matrix.  I can make that slightly more efficient (perhaps), by doing something like this:
> for (each.x in unique(df$x)) m[each.x, df$y[df$x == each.x]] <- df$a[df$x == each.x]

But I feel that there must be a more efficient, or at least more elegant way to do this.

--
Gene



More information about the R-help mailing list