[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