0
我遇到的问题是如何使用R2WinBUGS运行一些仿真研究。其目的是模拟n个数据集(瞄准1000,但从10开始),并将它们全部作为矩阵放入R2WinBUGS代码,以便当它移植到WinBUGS时,它将运行产生n个数据集的估计值。下面是我目前有:在R2WinBUGS中针对n个数据集运行仿真研究
的型号:
model{
alpha0 ~ dnorm(66.6, 0.01)
alpha1 ~ dnorm(0.3, 0.01)
alpha2 ~ dnorm(100, 0.01)
alpha3 ~ dnorm(0.2, 0.01)
beta0 ~ dnorm(35, 0.01)
beta1 ~ dnorm(80, 0.01)
tau ~ dgamma(0.3,1)
for(k in 1:Ndat) {
y[k] ~ dnorm(mu[k], tau)
mu[k] <- ((alpha0/(1 + exp(-alpha1*(28-beta0)))) + (alpha2/(1 + exp(-alpha3*(28-beta1)))))
}
}
我使用的错误代码是:
grapedat.sim = bugs(data = list('Ndat' = Ndat, 'y' = p.y[,1]),inits,
model.file="H:/R coding/R2WinBUGS/multsimt1.bug",
parameters=c("alpha0","alpha1","alpha2","alpha3","beta0","beta1","tau"),
n.chains=1,n.iter=8000,n.sim = 6000,
n.burnin=2000,n.thin=1,
bugs.directory="H:/WinBUGS14",
codaPkg=FALSE,
debug = T)
其中Ndat是数据集的数量,p.y.是一个13 x n的矩阵,并且内核是:
inits <- function(){
list(alpha0=70, alpha1=0.4, tau=0.15, alpha2=105, alpha3=0.25,beta0 =
40, beta1 = 85)
}
任何帮助?