我正在尝试编写一个函数,它将函数调用作为参数,评估此函数调用的数字参数,然后返回相应的字符向量。这就是我想出的:
ConvertToCharacter <- function(function.call) {
call.str <- deparse(substitute(function.call))
return(call.str)
}
> a <- 1
> ConvertToCharacter(sum(2, a))
"sum(2, a)"
> ConvertToCharacter(ddply(mtcars, .(vs), summarize, col=mean(cyl)))
"ddply(mtcars, .(vs), summarize, col = mean(cyl))"
现在,我希望在转换为字符向量之前对数字参数进行评估。因此 ConvertToCharacter(sum(2, a)) 将返回“sum(2, 1)”。我尝试将 env=parent.frame() 传递给替换,但它不起作用。知道我该怎么做吗?
谢谢!