[R] more about outer

Peter Dalgaard BSA p.dalgaard at biostat.ku.dk
Sun Sep 23 18:09:58 CEST 2001

Erich Neuwirth <erich.neuwirth at univie.ac.at> writes:

> this is my current answer to my own question.
> should we have such a funcion in a more general version
> (i.e. with an arbitraty number of argument lists, for n-ary
> functions)
> in the core language?
> myouter<-function(x,y,fun){
> t(sapply(x,function(arg1) sapply(y,function(arg2) fun(arg1,arg2))))
> }

I'd be partial to this kind of constructions 

vectorize2 <- function(f) 
    function(x, y,...)
        sapply(seq, along=x, function(i)f(x[i],y[i],...))

so that you can simply do

outer(x, y, vectorize2(fun))

A similar technique for functions of one variable would be

vectorize <- function(f) 
    function(x, ...)
        sapply(x, f)

The case of N variables is -um- interesting...

   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)             FAX: (+45) 35327907
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch

More information about the R-help mailing list