如何在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)为什么get
在call
内部立即得到评估
2)如何实现此call
以获取正确的i
编辑
该问题的解决方案是在call()
内使用另一个call
call('FUN', arg1 = 10, arg2 = call('get','i'))
,因此get()
函数仅在循环内部求值。