R-循环中具有可变参数的调用函数

时间:2019-02-27 16:35:13

标签: r arguments call

如何在for循环中使用函数调用,其中一个变量是循环的当前迭代?我当前的代码(非常简化)如下:

funCall <- call('FUN', arg1 = 10, arg2 = get('i'))
for(i in 1:x){
  ans[i] <- eval(funCall)
}

给定arg1 * arg2这样的FUN,对于i = 1,求值函数应返回10,对于i = 2,应返回20,依此类推。 使用get('i'),我得到一个错误,即找不到对象“ i”并且我听不懂
1)为什么getcall内部立即得到评估
2)如何实现此call以获取正确的i

编辑

该问题的解决方案是在call()内使用另一个call call('FUN', arg1 = 10, arg2 = call('get','i')),因此get()函数仅在循环内部求值。

0 个答案:

没有答案