从函数返回方程

时间:2017-10-12 10:34:42

标签: r function return equation

我可以从函数中返回一个等式吗? 例如,

testfn<-function(x)
{
  y=x+z
  return(y)
}
testfn(2)

我想要y = 2 + z

还有其他办法吗?

3 个答案:

答案 0 :(得分:3)

我怀疑您正在寻找substitute

testfn <- function(x) {
  substitute(y <- x + z, environment())
}
z <- 1
e <- testfn(2)
#y <- 2 + z
eval(e)
y
#[1] 3

答案 1 :(得分:0)

你在找这个吗?

testfn<-function(x)
{
  y = paste0("y=",x,"+z")
  return(y)
}
testfn(2)

[1] "y=2+z"

答案 2 :(得分:0)

这不回答问题,但是如果你想从函数中返回函数,它将类似于以下内容。

testfn <- function(x){
    force(x)
    function(z) x + z
}

y <- testfn(2)
y(3)
#[1] 5

如果你对此毫无兴趣就这么说,我会删除这个答案。