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