我想让我的似然函数返回多个值。 我有以下可能性
loglike <- function(x,mu,tau,u){
logl <- sum(-0.5*log(2*pi) -.5*log(tau^2+u^2) * (1/(2*(tau^2+u^2)))*((x-mu)**2) )
return(-logl)
}
x <- c(3.3569,1.9247,3.6156,1.8446,2.2196,6.8194,2.0820,4.1293,0.3609,2.6197)
u <- c(1,3,0.5,0.2,2,1.7,0.4,1.2,1.1,0.7)
tau=2
mu <- seq(0,10,length=1000)
我希望在插入mu的向量时生成向量的可能性,但它只返回一个数字。如何为向量中的每个mu返回-logl的可能性?
答案 0 :(得分:1)
您可以尝试vapply
以便为每个mu
运行该功能:
loglike <- function(x, mu, tau, u){
logl <- vapply(mu, function(m) {
logl <- sum(-0.5*log(2*pi) -.5*log(tau^2+u^2) * (1/(2*(tau^2+u^2)))*((x-m)**2) )
}, FUN.VALUE = numeric(1))
return(-logl)
}
loglike(x, mu, tau, u)