[R] array indices in synced vectors

Thomas Lumley tlumley at u.washington.edu
Thu Sep 8 16:58:39 CEST 2005


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




More information about the R-help mailing list