集成(R)中的惊人警告,“较长的物体长度不是较短的倍数”

时间:2017-03-02 18:25:19

标签: r debugging warnings

我在integrate中重现了R中的警告。

r <- list()
r$t <- 1:4
xsq <- function(x,r_obj){
  r_obj$t == x
  return(x^2)
}
integrate(f=xsq,0,1, r_obj = r)

第四行在这个玩具示例中没有任何功能(我是从需要该行的更复杂功能构建的)。问题是上面的代码提供了与此行相关的警告:

0.3333333 with absolute error < 3.7e-15
Warning message:
In r_obj$t == x :
  longer object length is not a multiple of shorter object length

请注意,评估任何值的xsq都不成问题,例如xsq(1, r_obj = r)没有发出任何警告。当r$t少于4个元素时,例如r$t <- 1:3,问题就消失了。但是,来自?integrate f

  

R函数采用数字第一个参数并返回相同长度的数字向量。

在我的理解中xsq就是这样做的。我哪里出错或为什么会收到警告?

0 个答案:

没有答案