Hi, I'm trying to generate a GLMM for Y following a negative binomial distribution. The first step I'm taking as a beginner in the use of R2Jags is to generate a GLM for Y following a Poisson distribution (I heard it's good in order to get used to the coding language), so here I am and here I face the first error message for which I can't find any mistake of spelling. Could you please give me your opinion about it?
I'm modelling the abundance of Thersitina parasites as a response to the standard size of the host fish (=Standard), the type of site where it was sampled (Site, two levelled factor: C, E) month of sampling (Month, 3 levelled factor: May, June, July). Here's what I did: MM1 <- model.matrix(~ Site * Month + Standard, data = Data) head(MM1) # # (Intercept) SiteE MonthJune MonthJuly Standard SiteE:MonthJune SiteE:MonthJuly #1 1 0 0 0 5.14 0 0 #2 1 1 0 0 5.49 0 0 #3 1 1 0 0 5.20 0 0 #4 1 1 0 0 5.57 0 0 #5 1 0 0 0 4.90 0 0 #6 1 0 0 0 5.99 0 0 # win.data1 <- list(Y = Data$Thersitina, Eut = MM1[,2], # SiteE M2 = MM1[,3], # Month2_June M3 = MM1[,4], # Month3_July Std = MM1[,5], # Standard I2 = MM1[,6], # SiteE:Month2_June I3 = MM1[,7], # SiteE:Month3_July N = nrow(Data)) sink("GLM.txt") cat(" model { #Likelihood(data | parameters) for (i in 1:N) { # N is the sample size Y[i] ~ dpois(mu[i]) eta[i] <- b[1] + b[2] * Eut[i] + b[3] * M2[i] + b[4] * M3[i] + b[5] * Std[i] + b[6] * I2[i] + b[7] * I3[i] log(mu[i]) <- max(-20, min(20, eta[i])) PRes[i] <- (Y[i] - mu[i]) / sqrt(mu[i]) #estimate residuals (= observed - expected / sqrt(variance)) #Discrepancy measures (used for checking overdispersion) YNew[i] ~ dpois(mu[i]) #New data PResNew[i] <- (YNew[i] - mu[i]) / sqrt(mu[i]) D[i] <- pow(PRes[i], 2) DNew[i] <- pow(PResNew[i], 2) } # Add up discrepancy measures fit <- sum(D[1:N]) fit.new <- sum(DNew[1:N]) for (i in 1:6) { b[i] ~ dnorm(0.0, 0.01) # b[i] ~ dunif(-20, +20) } } ",fill = TRUE) sink() inits1 <- function () { list(b = rnorm(7, 0, 0.01))} out1 <- jags(data = win.data1, inits = inits1, parameters = params1, model.file = "GLM.txt", n.thin = nt, n.chains = nc, n.burnin = nb, n.iter = ni) That's when R returns this error message: # #Compiling model graph # Resolving undeclared variables # Allocating nodes #Deleting model # #Error in jags.model(model.file, data = data, inits = init.values, n.chains = n.chains, : # RUNTIME ERROR: #Compilation error on line 13. #Subset out of range: b[7] # So I guess there's a problem with line 13 of the code (i.e. b[7] * I3[i]) causing the problem, but why... I really don't see the problem :( Any guess? Thanks in advance, aB -- View this message in context: http://r.789695.n4.nabble.com/Error-message-R2Jags-tp4651178.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.