Re: [R] Help with vectorization

2012-04-13 Thread Filoche
Thank you all. Problem solved. Regards, Phil -- View this message in context: http://r.789695.n4.nabble.com/Help-with-vectorization-tp4552638p4554565.html Sent from the R help mailing list archive at Nabble.com. __ R-help@r-project.org mailing list h

Re: [R] Help with vectorization

2012-04-12 Thread ilai
Michael originally suggested ?outer. I think that was enough in this case (no need for mv or sapply): wlpk3 <- outer(k3,wl,'+') ln.phiDIC <- log(k1)+k2/wlpk3 phiDIC<- t(exp(ln.phiDIC)) colnames(phiDIC)<- stations str(phiDIC) Cheers On Thu, Apr 12, 2012 at 8:58 PM, R. Michael Weylandt wrote: >

Re: [R] Help with vectorization

2012-04-12 Thread R. Michael Weylandt
Strange, that isn't the error I get: > mouter(wl, k1, k2, k3, FUN = function(w, k1, k2, k3) k1 *exp(k2 / (w + k3))) Error in FUN(X, Y, ...) : argument "k2" is missing, with no default Still, it's a problem with my mouter() function which was only tested on binary operators (and then only really

Re: [R] Help with vectorization

2012-04-12 Thread Filoche
Hi and thank you for your time. I got this error when trying your function. mouter(wl, k1, k2, k3, FUN = function(w, k1, k2, k3) k1 *exp(k2 / (w + k3))) "Error in k3/(w + k3) : 'k3' is missing" Regards, Phil -- View this message in context: http://r.789695.n4.nabble.com/Help-with-vectorization

Re: [R] Help with vectorization

2012-04-12 Thread R. Michael Weylandt
Perhaps ?outer -- well, not outer directly, but a multivariate outer -- I keep this one around for personal use: `mouter` <- function(..., FUN = "*"){ dotArgs <- list(...) FUN <- match.fun(FUN) if(length(dotArgs) == 1L) return(unlist(dotArgs)) if (length(dotArgs) == 2L)

[R] Help with vectorization

2012-04-12 Thread Filoche
Hi every one. I have a exponential function (3 fitting parameters) that I would like to use to produce data (6 series) without having to use a loop. Here wl = seq(300,500,1) k1 = c(1.2e-6, 4.9e-6, 9.6e-6, 2.7e-10, 6.7e-8, 7.44e-6) k2 = c(726, 352, 128, 5232, 1538, 128) k3 = c(-176, -224, -257, 88