running
library(RTMB)
data(InsectSprays)
X <- cbind(1, model.matrix(~ spray - 1, data = InsectSprays))
par <- list(
beta0 = log(mean(InsectSprays$count)),
beta = rep(0, length(levels(InsectSprays$spray))),
log_sigma = log(1)
)
dat <- list(count = InsectSprays$count, X = X)
nll <- function(par) {
getAll(par, dat)
count <- OBS(count)
lambda <- exp(X %*% c(beta0, beta)); ADREPORT(lambda)
nll <- -sum(dpois(count, lambda, log = TRUE))
sigma <- exp(log_sigma); ADREPORT(sigma)
nll - sum(dnorm(beta, 0, sigma, log = TRUE))
}
obj <- MakeADFun(nll, par, random = "beta")
opt <- nlminb(obj$par, obj$fn, obj$gr)
checkConsistency(obj)
gives error
Error in X %*% c(beta0, beta) :
requires numeric/complex matrix/vector arguments
Whats going wrong in the automatic simulation here?