集成错误:函数评估给出了错误长度的结果

时间:2017-05-06 08:55:01

标签: r integration

尝试以下代码:

library(pracma)

f <- function(x) 1

integrate(f,0,1)$value
quad(f,0,1)

quad()正常工作,但integrate()报告错误消息:

  

整合错误(f,0,1):    功能评估给出了错误长度的结果

这个integrate()应用程序有什么问题?提前谢谢!

2 个答案:

答案 0 :(得分:4)

您可以尝试:

integrate(Vectorize(f),0,1)$value

参见integrate的手册:f应该是R函数采用数字第一个参数并返回相同长度的数字向量。 Vectorize将使f成为一个返回与输入相同长度输出的函数。

答案 1 :(得分:0)

解决方案的另一个例子:

integrate(function(x) rep(1, length(x)), 0, 1)