Я ищу способ, чтобы правильно интегрировать свою функцию:интеграции вектора одной переменной в г
lik = function(par, x){
cl = c()
for(i in 1:ncluster){
sub = c()
for(j in 1:nsub){
times = t[[i]][[j]]
m = c(1,t[[i]][j],t(cov[[i]][j,]))
repmat = cbind(1,1:t[[i]][j],matrix(rep(cov[[i]][j,], times),times, 3,byrow=T))
sub[j] = d[[i]][j]*m%*%c(par[-5],x)-sum(log((1+exp(repmat%*%c(par[-5],x)))))
}
cl[i] = sum(sub)
}
return(exp(cl))
}
функцию lik
(что вероятность) принимает x
, вектор par
длины 5, и дает вектор вероятности на x
на каждом кластере. Например,
> lik(1:5,1)
[1] 4.640101e-30 3.632315e-44 5.348611e-09 1.121790e-27 1.696704e-98
> #number of clusters=5
Я хочу, чтобы интегрировать из x
, чтобы я мог получить вектор маргинальной PDF на каждом кластере, но функционируют integrate
или любые другие числовые пакеты интеграции способны только интегрировать скалярную функцию. Я искал вопросы, связанные с этим, и, возможно, Vectorization является ключом к решению этой проблемы, но я просто не знаю, как это сделать.
Буду признателен, если вы можете оказать мне помощь. Спасибо
Пожалуйста, отформатируйте свой код, чтобы другие люди могли легко его прочитать, и вы можете получить наилучший ответ. – Mahesh