[R] How to execute a funcition which name is stored in a string?

David Winsemius dwinsemius at comcast.net
Mon Nov 2 05:43:23 CET 2009


On Nov 1, 2009, at 11:07 PM, Ning Ma wrote:

> Hi, everybody
>
> Is there any way to execute a function, which name is stored in a  
> string.
> such as:
> a <- "ls()"
> foo(a) ## same as ls() itself.

Need to leave the "()" off.

 > fstr <- "sum"
 > eval(parse(text=fstr))(1:5)
[1] 15

>
> Or, to execute a R command, which is stored in a string
> such as:
> a <- "m1 <- matrix(1:9,3,3)"
> foo(a) ## same as the assignment itself

 > eval(parse(text="m1 <- matrix(1:9,3,3)"))
 > m1
      [,1] [,2] [,3]
[1,]    1    4    7
[2,]    2    5    8
[3,]    3    6    9

-- 
David Winsemius, MD
Heritage Laboratories
West Hartford, CT




More information about the R-help mailing list