array indices in synced vectors
On Thu, 8 Sep 2005, Erich Neuwirth wrote:
sapply(1:length(xxx),function(x)b[xxx[x],yyy[x]]) does what I need and produces [1] 1 2 1 2 1 4 3 4 3 4 Is there a function taking xxx,yyy, and b as arguments producing the same result?
b[cbind(xxx,yyy)]
Essentially, I am asking for a version of lapply and/or sapply which works with functions of more than one argument and takes the iteration arguments as vectors or lists of equal length.
More generally there is mapply(), but the matrix subscript solution is better in this example
mapply(function(i,j) b[i,j], xxx,yyy)
[1] 1 2 1 2 1 4 3 4 3 4 -thomas