[R] do calculations as defined by a string / expand mathematical statements in R

Martin Batholdy batholdy at googlemail.com
Wed Oct 5 22:14:11 CEST 2011

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!

More information about the R-help mailing list