在 R 语言中,假设我有一个函数 ff(jj, kk, mm)。我希望调用函数(或在交互式会话中调用人类)能够使 mm 在调用时以任意方式依赖于 jj 和 kk。
具体而言,假设:
ff <- function(jj, kk, mm){
xx <- jj + kk
out<- xx/mm
out
}
然后在运行时,我想设置mm <- jj*kk
. IE:
ff(2, 3, (jj*kk))
这产生:
Error in ff(2, 3, (jj * kk)) : object 'jj' not found
在评估之前不会抛出此错误mm
,即在成功评估之后jj
并且kk
已经成功评估。因此,然后使用不同的范围规则对其进行第二次评估。我知道这是 R 标准范围。我在问,如果这些参数已经或可以在
mm
需要之前进行评估,我是否可以以这样的方式编写函数,它可以让我给 mm 一个简单的数字或其他形式参数的函数?
请注意,我不是在问我是否应该这样做。我会坚决地假装对就后一个问题发表意见的人保持礼貌。
我也不是在问我是否可以预先计算 jj 并将预先消化的数字交给 ff。我知道这是一个合理的答案,但由于我已经简化了问题的原因,它不起作用。