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

Jean-Christophe BOUËTTÉ jcbouette at gmail.com
Wed Oct 5 22:28:02 CEST 2011


Hi, are you looking for

# reproducible example
x <- 1:1000
dim(x)<-rep(10,3)
# code
apply(x,1:2,sum)

note that ?apply works with many functions...



2011/10/5 Martin Batholdy <batholdy at googlemail.com>:
> 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