以下情况也可以运行:
模型如下:
<br />
model<br />
{<br />
for (i in 1:n) {<br />
y[i] ~ dbern(p[i])<br />
logit(p[i]) <- b[1] + b[2] * x[i, 1] + b[3] * x[i, 2]<br />
x[i, 1] ~ dnorm(mu, tau.m)<br />
x[i, 2] ~ dnorm(mu, tau.m)<br />
}<br />
for (i in 1:3) {<br />
b[i] ~ dnorm(0.00000E+00, 1.00000E-04)<br />
}<br />
mu ~ dnorm(0.00000E+00, 1.00000E-04)<br />
tau.m ~ dgamma(1.00000E-04, 1.00000E-04)<br />
}<br />
</p>
数据如下:
[data]
list(n=5.00000E+01, y=c(0.00000E+00, 1.00000E+00, 0.00000E+00, 1.00000E+00, 1.00000E+00, 1.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 1.00000E+00, 1.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 1.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 1.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 1.00000E+00, 0.00000E+00, 1.00000E+00, 0.00000E+00, 1.00000E+00, 1.00000E+00, 1.00000E+00, 1.00000E+00, 1.00000E+00, 0.00000E+00, 1.00000E+00, 1.00000E+00, 1.00000E+00, 1.00000E+00, 1.00000E+00, 0.00000E+00, 1.00000E+00, 1.00000E+00, 1.00000E+00, 0.00000E+00, 1.00000E+00, 1.00000E+00, 1.00000E+00, 1.00000E+00, 0.00000E+00), x= structure(.Data= c(-5.60476E-01, NA, -2.30177E-01, -2.85468E-02, NA, -4.28705E-02, 7.05084E-02, 1.36860E+00, 1.29288E-01, -2.25771E-01, 1.71506E+00, 1.51647E+00, NA, -1.54875E+00, NA, 5.84614E-01, NA, 1.23854E-01, -4.45662E-01, NA, NA, 3.79639E-01, 3.59814E-01, -5.02323E-01, 4.00771E-01, NA, 1.10683E-01, NA, -5.55841E-01, -1.07179E+00, 1.78691E+00, 3.03529E-01, 4.97850E-01, NA, NA, NA, 7.01356E-01, 9.22267E-01, -4.72791E-01, 2.05008E+00, -1.06782E+00, NA, NA, -2.30917E+00, NA, 1.00574E+00, NA, NA, -6.25039E-01, -6.88009E-01, -1.68669E+00, 1.02557E+00, 8.37787E-01, NA, NA, -1.22072E+00, -1.13814E+00, 1.81303E-01, 1.25381E+00, NA, 4.26464E-01, NA, -2.95071E-01, 3.85280E-01, 8.95126E-01, -3.70660E-01, 8.78133E-01, 6.44377E-01, 8.21581E-01, -2.20487E-01, 6.88640E-01, 3.31782E-01, 5.53918E-01, NA, -6.19117E-02, 4.35181E-01, -3.05963E-01, -3.25932E-01, -3.80471E-01, 1.14881E+00, NA, 9.93504E-01, NA, 5.48397E-01, NA, 2.38732E-01, NA, NA, 1.20796E+00, 1.36065E+00, -1.12311E+00, -6.00260E-01, NA, 2.18733E+00, NA, 1.53261E+00, 7.79965E-01, NA, NA, -1.02642E+00), .Dim=c(50, 2)))
[/data]
初值如下:
[data]
list(mu=0.00000E+00, tau.m=1.00000E-01, b=c(0.00000E+00, 1.00000E+00, 1.00000E+00), x= structure(.Data= c( NA, 0.00000E+00, NA, NA, 0.00000E+00, NA, NA, NA, NA, NA, NA, NA, 0.00000E+00, NA, 0.00000E+00, NA, 0.00000E+00, NA, NA, 0.00000E+00, 0.00000E+00, NA, NA, NA, NA, 0.00000E+00, NA, 0.00000E+00, NA, NA, NA, NA, NA, 0.00000E+00, 0.00000E+00, 0.00000E+00, NA, NA, NA, NA, NA, 0.00000E+00, 0.00000E+00, NA, 0.00000E+00, NA, 0.00000E+00, 0.00000E+00, NA, NA, NA, NA, NA, 0.00000E+00, 0.00000E+00, NA, NA, NA, NA, 0.00000E+00, NA, 0.00000E+00, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.00000E+00, NA, NA, NA, NA, NA, NA, 0.00000E+00, NA, 0.00000E+00, NA, 0.00000E+00, NA, 0.00000E+00, 0.00000E+00, NA, NA, NA, NA, 0.00000E+00, NA, 0.00000E+00, NA, NA, 0.00000E+00, 0.00000E+00, NA), .Dim=c(50, 2)))
[/data]
这个时候协变量x1和x2是独立的先验。
============================
对于连续的响应变量,也没有问题。
模型如下:
<br />
model<br />
{<br />
for (i in 1:n) {<br />
y[i] ~ dlnorm(u[i], tau.u)<br />
u[i] <- b[1] + b[2] * x[i, 1] + b[3] * x[i, 2]<br />
x[i, 1:2] ~ dmnorm(m[], tau.m[, ])<br />
}<br />
for (i in 1:3) {<br />
b[i] ~ dnorm(0.00000E+00, 1.00000E-04)<br />
}<br />
tau.u ~ dgamma(0.01, 0.01)<br />
m[1] <- 0.00000E+00<br />
m[2] <- 0.00000E+00<br />
tau.m[1:2, 1:2] ~ dwish(t.m[, ], 2)<br />
t.m[1, 1] <- 1.00000E-04<br />
t.m[1, 2] <- 0.00000E+00<br />
t.m[2, 1] <- 0.00000E+00<br />
t.m[2, 2] <- 1.00000E-04<br />
}<br />
</p>
数据如下:
[data]
list(n=5.00000E+01, y=c(8.65414E-01, 1.12487E+00, 5.24423E+00, 2.81524E+00, 1.17452E+00, 1.72255E+01, 8.21693E-01, 5.21954E-01, 8.12168E-01, 1.12307E+00, 5.43900E+00, 1.29219E+00, 1.55146E+00, 8.78418E-01, 3.83364E-01, 7.27281E+00, 2.61510E+00, 2.17445E-01, 4.72890E+00, 2.88193E+00, 3.49869E-01, 2.72516E-01, 1.04425E+00, 4.36516E-01, 4.26072E-01, 4.36151E-01, 2.59282E+00, 6.89375E-01, 5.29516E-01, 4.39433E+00, 2.26427E+00, 1.22845E+00, 2.31174E+00, 4.35802E+00, 1.91039E+00, 2.72710E+00, 4.45600E+00, 1.54100E+00, 8.07743E-01, 1.57474E+00, 1.09645E+00, 1.40779E+00, 4.02234E-01, 7.33391E+00, 8.09886E+00, 3.37779E-01, 3.51361E+00, 1.79529E+00, 2.53790E+00, 4.99779E-01), x= structure(.Data= c( NA, 2.53319E-01, -2.30177E-01, -2.85468E-02, 1.55871E+00, NA, 7.05084E-02, 1.36860E+00, 1.29288E-01, -2.25771E-01, 1.71506E+00, 1.51647E+00, 4.60916E-01, NA, -1.26506E+00, 5.84614E-01, -6.86853E-01, 1.23854E-01, NA, NA, 1.22408E+00, 3.79639E-01, 3.59814E-01, -5.02323E-01, NA, NA, NA, -1.01858E+00, -5.55841E-01, -1.07179E+00, 1.78691E+00, 3.03529E-01, NA, 4.48210E-01, NA, 5.30042E-02, 7.01356E-01, 9.22267E-01, -4.72791E-01, NA, NA, -4.91031E-01, -2.17975E-01, -2.30917E+00, -1.02600E+00, NA, NA, NA, -6.25039E-01, -6.88009E-01, -1.68669E+00, 1.02557E+00, NA, NA, 1.53373E-01, -1.22072E+00, -1.13814E+00, NA, NA, -1.38891E-01, NA, NA, -2.95071E-01, 3.85280E-01, 8.95126E-01, NA, 8.78133E-01, 6.44377E-01, 8.21581E-01, -2.20487E-01, 6.88640E-01, 3.31782E-01, NA, 1.09684E+00, -6.19117E-02, NA, -3.05963E-01, -3.25932E-01, -3.80471E-01, NA, -6.94707E-01, NA, -2.07917E-01, 5.48397E-01, -1.26540E+00, 2.38732E-01, NA, -6.27906E-01, 1.20796E+00, 1.36065E+00, -1.12311E+00, -6.00260E-01, -4.02885E-01, NA, -4.66655E-01, NA, NA, -2.35700E-01, -8.33691E-02, NA), .Dim=c(50, 2)))
[/data]
初值如下:
[data]
list(b=c(0.00000E+00, 1.00000E+00, 1.00000E+00), tau.m= structure(.Data= c(1.00000E-01, 0.00000E+00, 0.00000E+00, 1.00000E-01), .Dim=c(2, 2)), tau.u=1.00000E-01, x= structure(.Data= c(0.00000E+00, NA, NA, NA, NA, 0.00000E+00, NA, NA, NA, NA, NA, NA, NA, 0.00000E+00, NA, NA, NA, NA, 0.00000E+00, 0.00000E+00, NA, NA, NA, NA, 0.00000E+00, 0.00000E+00, 0.00000E+00, NA, NA, NA, NA, NA, 0.00000E+00, NA, 0.00000E+00, NA, NA, NA, NA, 0.00000E+00, 0.00000E+00, NA, NA, NA, NA, 0.00000E+00, 0.00000E+00, 0.00000E+00, NA, NA, NA, NA, 0.00000E+00, 0.00000E+00, NA, NA, NA, 0.00000E+00, 0.00000E+00, NA, 0.00000E+00, 0.00000E+00, NA, NA, NA, 0.00000E+00, NA, NA, NA, NA, NA, NA, 0.00000E+00, NA, NA, 0.00000E+00, NA, NA, NA, 0.00000E+00, NA, 0.00000E+00, NA, NA, NA, NA, 0.00000E+00, NA, NA, NA, NA, NA, NA, 0.00000E+00, NA, 0.00000E+00, 0.00000E+00, NA, NA, 0.00000E+00), .Dim=c(50, 2)))
[/data]
不知是什么原因?