R的数值积分要使用integrate命令,我在做循环运算的时候遇到下列问题:
# f是被积函数,显然f在0出是无限的
f <- function(x) {return(1/x)}
# 循环运算
for (i in 0:4) {
g[i] <- integrate(f, lower=i, upper=7, stop.on.error=FALSE
}
g # 输出g
# 错误信息
错误于integrate(f, lower = i, upper = 7, stop.on.error = FALSE) :
non-finite function value
错误: 找不到对象'g'
# 我的问题
从上面的结果可以看出,当integrate发生一次循环发生错误后(显然第一次便发生这种情况),
就跳出了整个循环(因为g不存在)。我的期望是,如果integrate的一次循环发生错误,就让它
跳到下一次循环,而不要跳出整个循环。请问各位高手,如何才能实现我的期望呢?我尝试了
很多,一直无法实现。