RE: [R] function corresponding to map of perl

From: Liaw, Andy <andy_liaw_at_merck.com>
Date: Sun 17 Apr 2005 - 00:15:38 EST


> 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
>



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Sun Apr 17 00:19:40 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:31:13 EST