Я относительно новичок в R и OpenBugs и потратил много времени на устранение этой модели. Я был в состоянии выяснить их достаточное количество через ресурсы через Интернет, но я застрял на этой ошибке. В нем говорится, что это «множественные определения манекена узла [1]». Я читал онлайн, что эта ошибка часто вызвана попыткой определить переменную в цикле for, которая не имеет индекса, но мои переменные. Я создал эту модель, основанную на ресурсе here.R - OpenBugs - несколько определений при ошибке узла - произвольное распределение
Я борюсь с обнаружением ошибки. Код, указанный ниже, должен содержать ту же ошибку, которую я вижу. Я также включил ошибку журнала, которую я видел в OpenBugs. Спасибо, что нашли время, чтобы помочь мне.
данных:
library(R2OpenBUGS)
n1=20 ; k1=1 ; m1=5; R.x=c(3,3,3,3,3); x=c(1.008195, 1.212885, 1.349857, 1.909607, 7.134668)
n2=20 ; k2=1 ; m2=5; R.y=c(3,3,3,3,3); y=c(0.7507421, 1.3103649, 1.5022302, 1.7875087, 3.1900460)
Модель:
mtemp<-function(){
for (i in 1:m1)
{
dummyx[i]<-0
dummyx[i] ~ dloglik(logLikex[i])
logLikex[i] <- -log(a)-log(c)-(c-1.0)*log(x[i])+(a*k1*(R.x[i]+1.0)+1.0)*log(1.0 + pow(x[i],c))
for(j in 1:m2){
dummyy[j]<-0
dummyy[j] ~ dloglik(logLikey[j])
logLikey[j] <- -log(b)-log(c)-(c-1.0)*log(y[j])+(b*k2*(R.y[j]+1.0)+1.0)*log(1.0 + pow(y[j],c))
}
a ~ dgamma(0.001, 0.0001)
b ~ dgamma(0.001, 0.0001)
c ~ dgamma(0.001, 0.0001)
}
}
model.file <- file.path(tempdir(), "model.txt") #create temporary directory
write.model(mtemp, model.file) #write to temporary directory
file.show(model.file) #verify model was created
datatemp<- list("x","y","R.x","k1","m1","R.y","k2","m2")
initstemp<-function(){list(a=7.0,b=7.0,c=4.5)}
bugstemp = bugs(data=datatemp,inits=initstemp,parameters=c("a","b","c"),model.file=model.file,
n.chains=3,n.iter= 10000, n.burnin=1000,n.thin=1, debug=T)
Log Report:
model is syntactically correct
data loaded
multiple definitions of node dummyy[1]
model must have been compiled but not updated to be able to change RN generator
BugsCmds:NoCompileInits
BugsCmds:NoCompileInits
BugsCmds:NoCompileInits
model must be compiled before generating initial values
model must be initialized before updating
model must be initialized before monitors used
model must be initialized before monitors used
model must be initialized before monitors used
model must be initialized before monitors used
model must be initialized before DIC can be monitored
model must be initialized before updating
model must be initialized before monitors used
DIC monitor not set