[R] Help with vectorization

ilai keren at math.montana.edu
Fri Apr 13 05:57:07 CEST 2012


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
<michael.weylandt at gmail.com> wrote:
> 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 to teach myself to use
> Recall()). This should work better:
>
> `mouter` <- function(..., FUN){
>    dotArgs <-as.list(do.call("expand.grid", list(..., KEEP.OUT.ATTRS= F)))
>    names(dotArgs) <- names(formals(FUN))
>    ans <- do.call(FUN, dotArgs)
>    dim(ans) <- sapply(list(...), length)
>    ans
> }
>
> This only works when the function can take all the elements at a time
> though; I'm sure some fooling around could combine them nicely...it
> seems to test right on your data, but I haven't checked it more
> generally.
>
> Michael
>
> On Thu, Apr 12, 2012 at 3:29 PM, Filoche <pmassicotte at hotmail.com> wrote:
>> 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-tp4552638p4552833.html
>> Sent from the R help mailing list archive at Nabble.com.
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list