0

我正在使用 R 进行一些多变量分析。对于这项工作,我需要集成三元 PDF。这样做时我得到了错误:

Error in integrate(Vectorize(function(x) { : 
  evaluation of function gave a result of wrong length

如您所见,矢量化不是解决方案,因此出现了问题。

如果有人可以给我一个关于发生了什么的提示,我会非常感激。

这是我的代码:

library(mvtnorm)
f1<-function(x, y, z) {dmvnorm(x=as.matrix(cbind(x,y,z)), mean=mu.t, sigma)} #PDF with all three
#integrate out x
integrate(Vectorize(function(x) {f1(x=c1, y=c2, z=c3)}), 0.1,0.5, rel.tol=1.5e-20)$value
4

1 回答 1

0

无法确定是否有关于您的输入和输出的更多信息,但length输出的内容是f1什么?如果它与您的输入长度不同,我相信这会导致您遇到错误,如integrate的帮助页面所示:

f   an R function taking a numeric first argument and returning a numeric vector of the same length. Returning a non-finite element will generate an error.
于 2013-04-15T13:29:23.587 回答