6

我是 WinBUGS 的新手,我无法让下面的代码工作。该模型是syntactically correct(它是具有随机效应的分层 logit 模型),但是当我单击load data出现的错误消息时是expected key word structure. 这意味着什么?任何人都可以帮我处理下面的代码吗?我的数据集更大,但为了简化问题,我在这里只使用 n=2(组数)和 k=5(每组中的受试者数)。

model{
for(i in 1:n){
  for(j in 1:k){
    yij[i,j] ~ dbern(p[i,j]) 
    logit(p[i,j]) <- alpha + beta*xij[i,j] + ui[i]
  }
  ui[i] ~ dnorm(0,tau)
}
alpha ~ dnorm(0,0.001)
beta ~ dnorm(0,0.001)
tau ~ dunif(0,100) 
}

有数据:

list(n=2, k=5, yij=structure(.Data=c(1, 1, 1, 1, 1, 0, 0, 0, 0, 0), .Dim=c(2,5)),
xij = c(0.0494063719, -0.078101264, 0.2748560749, 0.1245743393, -2.531242809, .6849338859, 0.5302062384, 0.7828560148, -0.012341452, 0.5128471157), 
ui = c(0.5031197054, 0.5031197054, 0.5031197054, 0.5031197054, 0.5031197054, -2.13785637, -2.13785637, 2.13785637, -2.13785637, -2.13785637))
4

1 回答 1

4

xij看起来是 BUGS 模型中的矩阵,但您在数据中具有向量。这应该有效:

list(n=2, k=5, yij=structure(.Data=c(1, 1, 1, 1, 1, 0, 0, 0, 0, 0), .Dim=c(2,5)),
xij = structure(.Data=c(0.0494063719, -0.078101264, 0.2748560749, 0.1245743393, -2.531242809, .6849338859, 0.5302062384, 0.7828560148, -0.012341452, 0.5128471157), .Dim=c(2,5)),
ui = c(0.5031197054, 0.5031197054, 0.5031197054, 0.5031197054, 0.5031197054, -2.13785637, -2.13785637, 2.13785637, -2.13785637, -2.13785637))
于 2014-05-08T14:19:09.020 回答