OK, then. Thanks. I've read the docs more carefully and Reduce does indeed look like the ticket. For whatever reason, the first time I looked at the documentation my initial reaction was: huh?
DAV -----Original Message----- From: David Winsemius [mailto:dwinsem...@comcast.net] Sent: Monday, April 16, 2012 4:55 PM To: David A Vavra Cc: r-help@r-project.org Subject: Re: [R] Effeciently sum 3d table On Apr 16, 2012, at 4:04 PM, David A Vavra wrote: >> even now you _could_ be clearer > > I fail to see why it's unclear. > >>> I'm after T1 + T2 + T3 + ... >> Which would be one number ... i.e. the result you originally said you >> did not want. > > I think it's precisely what I want. If I have two 3d tables, T1 and > T2, then > say either > 1) T1 + T2 > 2) T1 - T2 > (1) yields a third table equal to the sum of the individual cells > and (2) > yields a table full of zeroes. At least it does for matrices. Are > you saying > the T1+T2+T3+... above is equivalent to: > > sum(T1)+sum(T2)+sum(T3)+.... > > when the table has more than 2d? I tried it out by hand I get the > result I'm > after. For me (with my slightly constricted mindset) it would have been clearer to have started out talking about matrices and arrays. An example would have save a bunch of time. > What I want is a general solution. Reduce may be the answer but I > find the documentation for it a bit daunting. Not to mention that it > is far > from obvious that I should have originally thought of using it. It is a function designed to do exactly what you requested: "Reduce uses a binary function to successively combine the elements of a given vector". As it turns out the term 'vector' in this case includes lists of classed and/or dimensioned objects rather than being restricted to atomic vectors. -- David. > > DAV > > > > -----Original Message----- > From: David Winsemius [mailto:dwinsem...@comcast.net] > Sent: Monday, April 16, 2012 3:26 PM > To: David A Vavra > Cc: 'Petr Savicky'; r-help@r-project.org > Subject: Re: [R] Effeciently sum 3d table > > > On Apr 16, 2012, at 2:43 PM, David A Vavra wrote: > >> Thanks Petr, >> >> I'm after T1 + T2 + T3 + ... > > Which would be one number ... i.e. the result you originally said you > did not want. > >> and your solution is giving a list of n items >> each containing sum(T[i]). I guess I should have been clearer in >> stating >> what I need. > > Or even now you _could_ be clearer. Do you want successive partial > sums? That would yield to: > > Reduce("+", listoftables, accumaulate=TRUE) > > > > >> >> Cheers, >> DAV >> >> >> >> -----Original Message----- >> From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org >> ] On >> Behalf Of Petr Savicky >> Sent: Monday, April 16, 2012 11:07 AM >> To: r-help@r-project.org >> Subject: Re: [R] Effeciently sum 3d table >> >> On Mon, Apr 16, 2012 at 10:28:43AM -0400, David A Vavra wrote: >>> I have a large number of 3d tables that I wish to sum >>> Is there an efficient way to do this? Or perhaps a function I can >>> call? >>> >>> I tried using do.call("sum",listoftables) but that returns a single >>> value. >> >>> >>> So far, it seems only a loop will do the job. >> >> Hi. >> >> Use lapply(), for example >> >> listoftables <- list(array(1:8, dim=c(2, 2, 2)), array(2:9, >> dim=c(2, 2, >> 2))) >> lapply(listoftables, sum) >> >> [[1]] >> [1] 36 >> >> [[2]] >> [1] 44 >> >> Hope this helps. >> >> Petr Savicky. >> >> ______________________________________________ >> R-help@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@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. > > David Winsemius, MD > West Hartford, CT > David Winsemius, MD West Hartford, CT ______________________________________________ R-help@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.