如何使用该调用的另一个参数来评估函数调用的一个参数,以及在R中的函数环境中创建的对象?

时间:2017-09-06 11:00:02

标签: r environment

我正在尝试编写一个将表达式作为参数的函数,然后在1)函数的另一个参数的上下文中评估该表达式,以及2)在函数本身内创建的对象。

我在使环境工作时遇到了一些问题。有谁知道怎么做?

myfun <- function(es = .5, model = es * x[, 1]){
  x <- matrix(rnorm(300), ncol = 3)
  mu <- eval(model)
  mu
}

myfun(es = .8, model = es * x[, 1] + es * x[, 1]^2 + es * x[, 1]^3)

错误结果:eval(模型)出错:找不到对象'es'

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

尝试substitute

myfun <- function(es = .5, model = es * x[, 1]){
    x <- matrix(rnorm(300), ncol = 3)
    mu <- eval(substitute(model))
    mu
}