我有很多字符,实际上是函数定义。如何使用该字符执行这些功能? 我的角色如下:
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)}"
...等
我需要一个通用方法来执行所有这些功能。
答案 0 :(得分: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"