2014-10-06 52 views
0

我正在使用WinBUGS軟件包處理不同的項目功能模型。我已經成功構建了更簡單的模型,但我也收到了錯誤「期望收集操作符c」。 如果你能幫忙,我會很高興。WinBugs中的「預期收集操作員c」錯誤

# Model 
Model 
{ 

for (j in 1:40){ 
for (k in 1:5){ 
y[j,k] ~ dbern(p[j,k]) 
logit(p[j,k])<- u2[j] - beta[k] + gamma[k]*grp[j] 
} 
} 
# Random effect prior 
for (j in 1:40){ 
u2[j] ~ dnorm(0,tau.u2) 
} 
# Fixed effect prior 
for (k in 1:5){ 
beta[k] ~ dnorm(0, .0001) 
gamma[k] ~ dnorm(0,.0001) 
} 

tau.u2 <- pow(sigma.u2, -2) 
sigma.u2 ~ dunif (0, 100) 
} 

# Data 
list(y=structure(
    .Data=c(1, 1, 1, 1, 1, 
      1, 0, 1, 0, 1, 
      0, 1, 1, 1, 1, 
      1, 0, 0, 1, 1, 
      1, 0, 0, 0, 1, 
      0, 1, 1, 1, 0, 
      0, 1, 1, 1, 1, 
      1, 0, 0, 0, 1, 
      1, 0, 1, 1, 1, 
      0, 1, 0, 0, 0, 
      1, 1, 1, 0, 1, 
      0, 1, 1, 0, 1, 
      1, 1, 1, 1, 1, 
      0, 1, 0, 1, 0, 
      1, 1, 1, 1, 1, 
      0, 0, 1, 1, 1, 
      0, 0, 0, 1, 0, 
      1, 1, 1, 0, 0, 
      1, 0, 0, 0, 0, 
      0, 0, 0, 0, 0, 
      0, 1, 0, 0, 0, 
      0, 1, 0, 0, 0, 
      0, 0, 0, 0, 1, 
      0, 0, 0, 0, 0, 
      0, 1, 0, 0, 0, 
      0, 0, 0, 0, 0, 
      1, 0, 0, 1, 0, 
      1, 1, 1, 1, 0, 
      1, 1, 0, 0, 1, 
      0, 1, 1, 1, 1, 
      1, 1, 0, 0, 0, 
      0, 0, 0, 1, 0, 
      0, 1, 1, 1, 0, 
      1, 0, 1, 1, 0, 
      1, 0, 1, 0, 0, 
      0, 0, 1, 1, 0, 
      0, 0, 1, 1, 0, 
      0, 1, 0, 1, 0, 
      1, 1, 1, 1, 0, 
      0, 0, 0, 1, 1), 
     .Dim=c(40,5)), grp=c(1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1,  1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0)) 

#Initital values 
list(beta=c(0, 0, 0, 0, 0), gamma=c(0, 0, 0, 0, 0), sigma.u2=1, u2=0)) 

回答

1

在您的模型中,u2是40個值的向量,而您只爲其初始值提供了一個數字。該錯誤應該將光標置於u2初始值之後,這會告訴你錯誤在哪裏。 「期望收集算子c」意味着它期望看到u2 = c(0,0,0,...即一個初始值的向量)

儘管你已經爲sigma.u2提供了一個初始值,WinBUGS自動生成u2的初始值可能是安全的。

+0

謝謝克里斯傑克遜... – sibel 2014-10-13 18:20:21

+0

感謝兄弟,非常有幫助 – 2016-01-15 22:14:31