# Changing to variable Z since array() is a function apply(Z.temp <- Z[,,,a:b],1:3,sum)/dim(Z.temp)[4] # Should work, though it may be more clear to define Z.temp in its own line
M On Wed, Oct 5, 2011 at 5:10 PM, Martin Batholdy <batho...@googlemail.com> wrote: > Thanks for all the suggestions! > > > > Perhaps my post was not clear enough. > > apply(array,1:2,sum)/dim(array)[3] > > and > > # reproducible example > x <- 1:1000 > dim(x)<-rep(10,3) > # code > apply(x,1:2,sum) > > > would give me the mean over one whole dimension, right? > The problem with that is, that I just want to calculate the mean over a > subset of t (where t is the 4th dimension of the array). > And the range of this subset should be easily changeable. > > > So for example I have 4D array: > > x <- 1:10000 > dim(x)<-rep(10,4) > > Now I would like to average the 3D array(x,y,z) in the 4th dimension (t) from > t_start = a to t_end = b. > I don't want to average the whole 3D array. > > > > On 05.10.2011, at 22:21, William Dunlap wrote: > >> Avoid parsing strings to make expressions. It is easy >> to do, but hard to do safely and readably. >> >> In your case you could make a short loop out of it >> result <- x[,,,1] >> for(i in seq_len(dim(x)[4])[-1]) { >> result <- result + x[,,,i] >> } >> result <- result / dim(x)[4] >> >> Bill Dunlap >> Spotfire, TIBCO Software >> wdunlap tibco.com > > > Wouldn't that be much slower than define a string and evaluate it as an > expression since I would have to use a for-loop? > > > > > thanks again! > You helped me a lot today ;) > > > > > > On 05.10.2011, at 22:21, William Dunlap wrote: > >> Avoid parsing strings to make expressions. It is easy >> to do, but hard to do safely and readably. >> >> In your case you could make a short loop out of it >> result <- x[,,,1] >> for(i in seq_len(dim(x)[4])[-1]) { >> result <- result + x[,,,i] >> } >> result <- result / dim(x)[4] >> >> Bill Dunlap >> Spotfire, TIBCO Software >> wdunlap tibco.com >> >>> -----Original Message----- >>> From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On >>> Behalf Of Martin Batholdy >>> Sent: Wednesday, October 05, 2011 1:14 PM >>> To: R Help >>> Subject: [R] do calculations as defined by a string / expand mathematical >>> statements in R >>> >>> Dear R-group, >>> >>> >>> is there a way to perform calculations that are defined in a string format? >>> >>> >>> for example I have different variables: >>> >>> x1 <- 3 >>> x2 <- 1 >>> x4 <- 1 >>> >>> and a string-variable: >>> >>> do <- 'x1 + x2 + x3' >>> >>> >>> Is there any way to perform what the variable 'do'-describes >>> (just like the formula-element but more elemental)? >>> >>> >>> >>> Perhaps my idea to solve my problem is a little bit strange. >>> >>> >>> My general problem is, that I have to do arithmetics for which there seems >>> to be no function available >>> that I can apply in order to be more flexible. >>> >>> >>> To be precise, I have to add up three dimensional arrays. >>> >>> I can do that like this (as someone suggested on this help-list - thanks >>> for that!): >>> >>> (array[,,1] + array[,,2] + array[,,3]) / 3 >>> >>> >>> However in my case it can happen that at some point, I don't have to add 3 >>> but 8 'array-slices' >>> (or 10 or x). >>> >>> And I don't want to manually expand the above statement to: >>> >>> (array[,,1] + array[,,2] + array[,,3] + array[,,4] + array[,,5] + >>> array[,,6] + array[,,7] + >>> array[,,8]) / 8 >>> >>> (ok, now I have done it ;) >>> >>> >>> >>> So, my thinking was that I can easily expand and change a string (with the >>> paste-function / repeat- >>> function etc.). >>> But how can I expand a mathematical statement? >>> >>> >>> thanks for any suggestions! >>> ______________________________________________ >>> 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. > > > [[alternative HTML version deleted]] > > ______________________________________________ > 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.