[R] do calculations as defined by a string / expand mathematical statements in R
William Dunlap
wdunlap at tibco.com
Wed Oct 5 22:21:17 CEST 2011
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-bounces at r-project.org [mailto:r-help-bounces at 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 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