[R] function corresponding to map of perl
Liaw, Andy
andy_liaw at merck.com
Sat Apr 16 16:15:38 CEST 2005
> From: Fernando Saldanha
>
> I defined map as follows:
>
> map <- function(x, y, fun) {
> mymat <- matrix( c(x,y), c(length(x), 2) )
> tmat <- t(mymat)
> oldmat <- tmat
> result <- apply(tmat, 2, function(x) {fun(x[1], x[2])})
> }
>
> It seems to work (see below). Of course you can turn it into
> a one-liner.
>
> > a<-c(1,2,3)
> > b<-c(4,5,6)
> > mysum <- function(x, y) {x + y}
> > map <- function(x, y, fun) {
> + mymat <- matrix( c(x,y), c(length(x), 2) )
> + tmat <- t(mymat)
> + oldmat <- tmat
> + result <- apply(tmat, 2, function(x) {fun(x[1], x[2])})
> + }
> > (test <- map(a, b, mysum))
> [1] 5 7 9
Maybe you're re-inventing mapply()?
> mapply(mysum, a, b)
[1] 5 7 9
Andy
>
More information about the R-help
mailing list