index m as a vector and do the assignment in one step i <- df$row + (df$col-1)*nrow(m) m[i] <- df$a
or something along those lines. -Whit On Tue, Dec 7, 2010 at 1:31 PM, Cutler, Gene <gcut...@amgen.com> wrote: > 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 > > ______________________________________________ > R-help@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. > ______________________________________________ R-help@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.