-2

我有很多实际上是函数定义的字符。我怎样才能使用这些字符来执行这些功能?我拥有的字符如下:

foo1 <- "function(p1,p2){, v <- 2, print(\"value is \"), print(v)}"

foo2 <- "function(){, cName <- .Call(\"companyNames\"), return(cName)}"

foo3 <- "function(tickers,field,date){,df<-data.frame(Ticker = tickers, Field = field, Date = date), return(df)}"

...ETC

我需要一个通用方法来执行所有这些功能。

4

1 回答 1

7

编辑:你改变了你的问题,所以我修改了我的答案:

do.call(eval(parse(text=foo1)), list())

您可以为每个函数添加一个命名列表来代替list(). 但坦率地说,你正在尝试的是近乎荒谬的。我不知道你是如何进入需要这些工具的位置的。从这里开始,您将遇到各种范围界定问题。

旧解决方案:

fun <- eval(parse(text="function(p1,p2){v <- 2; print(paste0(\"value is \", v))}"))
fun()
## [1] "value is 2"
于 2013-02-19T04:41:30.453 回答