Skip to content
Back to formatted view

Raw Message

Message-ID: <470A7651-8BFE-4848-AA69-CB862E4A73CE@comcast.net>
Date: 2009-11-02T04:43:23Z
From: David Winsemius
Subject: How to execute a funcition which name is stored in a string?
In-Reply-To: <80831da90911012007g6e311428p3eb41643cdc0c64c@mail.gmail.com>

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