> 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. 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. 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 ______________________________________________ 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.