R 如何生成一个向量化函数并对每个函数进行二重积分?

R 如何生成一个向量化函数并对每个函数进行二重积分?,r,function,double,integration,vectorization,R,Function,Double,Integration,Vectorization,我有一个函数,我想取它的二重积分。问题是函数中有一些向量。我不知道如何对函数进行向量化,然后在非向量变量上对每个函数进行积分 beta=c(1,2,3) sigmay=0.1 sigmax1=0.1 sigmay1=0.1 # each of stt, sezz and smm is an identified n element vector func1 = function(smtheo, sttheo) { Xtheo=c(1, log(smtheo), log(sezz)) mu &

我有一个函数,我想取它的二重积分。问题是函数中有一些向量。我不知道如何对函数进行向量化,然后在非向量变量上对每个函数进行积分

beta=c(1,2,3)
sigmay=0.1
sigmax1=0.1
sigmay1=0.1
# each of stt, sezz and smm is an identified n element vector

func1 = function(smtheo, sttheo) {
Xtheo=c(1, log(smtheo), log(sezz)) 
mu <- beta %*% Xtheo
ypri=dnorm(log(sttheo), mu, sigmay)
joipri=dnorm(log(stt), log(sttheo), sigmay1)*dnorm(log(smm),log(smtheo), sigmax1) 
return(ypri*joipri)}

int=integral2(func1(smtheo, sttheo), a1, a2, b1, b2)

实际上,我有n个函数,每个函数的1应该在smtheo和stttheo极限上积分。有人知道吗

什么是a1,a2,b1,b2?还有一些打字错误,smtheo和smmtheo,sezz,stt,smm没有定义。@Jeff,a1,a2,b1和b2是二重积分的下限和上限,定义为:5,5.001,0.5,30。smtheo和sttheo是函数的变量。假设sezz、stt和smm,正如我在代码中提到的,是向量,每个向量都有n个元素,这些元素在开始时就已经定义好了。如果没有您使用的所有变量,我无法运行您的代码并提供一个好的答案。也许可以举个小例子?@Jeff sezz、smm和stt中的每一个都是一个包含1000个元素的向量,比如c1:1000。smtheo和sttheo是函数的变量。a1、a2、b1和b2是二重积分的下限和上限,我在前面的评论中定义了它们