Re: [R] array addition

From: Robin Hankin <r.hankin_at_noc.soton.ac.uk>
Date: Fri, 21 Dec 2007 08:55:08 +0000

[snip snip snip]

> suppose I have two arrays x1,x2 of dimensions a1,b1,c1 and
> a2,b2,c2 respectively.
>
> I want x = x1 "+" x2 with dimensions c(max(a1,a2), max(b1,b2),max
> (c1,c2))

[snip snip snip]

perhaps it wouldn't be too much to ask for you to check the most recent version of the "magic" package?

[and we *really* don't want any whingeing about magic_1.3-31 not being available. If I were you, I'd email the package maintainer and tell him to release updates in a more timely manner. . . ]

 > library(magic)
 > aplus
function (...)
{

     args <- list(...)
     if (length(args) == 1) {
         return(args[[1]])
     }
     if (length(args) > 2) {
         jj <- do.call("Recall", c(args[-1]))
         return(do.call("Recall", c(list(args[[1]]), list(jj))))
     }
     a <- args[[1]]
     b <- args[[2]]
     dima <- dim(a)
     dimb <- dim(b)
     stopifnot(length(dima) == length(dimb))
     out <- array(0, pmax(dima, dimb))
     return(do.call("[<-", c(list(out), lapply(dima, seq_len),
         list(a))) + do.call("[<-", c(list(out), lapply(dimb,
         seq_len), list(b))))

}
 >
--
Robin Hankin
Uncertainty Analyst and Neutral Theorist,
National Oceanography Centre, Southampton
European Way, Southampton SO14 3ZH, UK
  tel  023-8059-7743

______________________________________________
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.
Received on Fri 21 Dec 2007 - 08:58:14 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 21 Dec 2007 - 11:30:20 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.