R 错误:“错误”;应为采集操作员c错误,位置13018“;

R 错误:“错误”;应为采集操作员c错误,位置13018“;,r,winbugs14,R,Winbugs14,我试图使用R2OpenBUGS库评估R中的分层模型 相关变量包括: N=191 p=4 k=1 x=N*p值矩阵(即191*4) t0=k*(x'*x) y=长度为N的连续数据向量 mu0=4个零的向量(即c(0,0,0,0)) prob=0.5(即c(0.5,0.5,0.5,0.5))时4个概率的向量 indimodel=4个参数组的向量(即c(1,2,4,8)) tau和gama的初始值使用R中的以下函数生成: inits<-function() { list(tau=runif

我试图使用R2OpenBUGS库评估R中的分层模型

相关变量包括:

N=191

p=4

k=1

x=N*p值矩阵(即191*4)

t0=k*(x'*x)

y=长度为N的连续数据向量

mu0=4个零的向量(即c(0,0,0,0))

prob=0.5(即c(0.5,0.5,0.5,0.5))时4个概率的向量

indimodel=4个参数组的向量(即c(1,2,4,8))

tau和gama的初始值使用R中的以下函数生成:

inits<-function()
{
   list(tau=runif(1,0,10),gama=c(1,1,1,1))
}

我觉得这个问题源于某个变量(或多个变量)初始值的声明缺失。

我发现了这个错误。当我应该将向量指定为矩阵时,我错误地指定了t0[I]向量。从R开始,t0被定义为一个矩阵(参见上面的变量列表),在WinBUGS中,由于需要t0向量,所以抛出收集错误。

也许您可以提供一些数据,以便我们可以复制错误。
model
{
  for (i in 1:N)
  {
    mu[i]<-inprod(x[i,],nu[])
    y[i]~dnorm(mu[i],tau)
  }
  for (i in 1:p)
  {
    gama[i]~dbern(prob[i])
    nu[i]<-beta[i]*gama[i]
  }
  for (i in 1:p) 
  {
    beta[i]~dnorm(mu0[i],t0[i])
  }
    tau~dgamma(0.00001,0.00001)
    model<-inprod(gama[],indimodel[])
    sigma<-sqrt(1/tau)
}
model is syntactically correct
expected the collection operator c error pos 13018
variable N is not defined
model must have been compiled but not updated to be able to change RN generator
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 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