0

在编译过程中,我收到一条错误消息——“多元分布必须有多个组件”,我无法获得有关此错误的太多信息。任何人有任何想法如何解决这个问题,请分享。谢谢。

  model {
       for(i in 1:n) 
       { for(j in 1:J)
         {          log(mu[i,j]) <- beta1[j]*x1[i] + beta2[j]*x2[i] + b[i,j]
          }
     for(k in 1:J) { y[i,k]~ dpois(mu[i,1:J])     
      }}
   # PRIORS
     for (i in 1:n) { 
     for(k in 1:J)  {
     b[i,k]<- 1
      }}
       beta1[1]<- beta3[1,1]
       beta1[2]<- beta3[2,2]
       beta2[1]<- beta4[1,1]
       beta2[2]<- beta4[2,2]
      for (j in 1:J) {beta3[j,j]~ dmnorm(zero[], B[,]); 
      beta4[j,j]~ dmnorm(zero[], B[,]) }
      for(i in 1:J)
        { for (j in 1:J) 
          {  B[i,j] <- 0.01*equals(i,j);
        }}
      for (i in 1:J) { zero[i] <- 0;}
      }
  #Data: 
    list(n=3, J=2)
  #Data: 
       y[ ,1]  x1[]    x2[]    y[,2]   
        0       9.91     8.34     1               
        3    10.48    10.14    79          
        0     10.31    9.42     40
4

1 回答 1

0

你需要做这样的事情:

  for (j in 1:J) {beta3[j,(1:J)]~ dmnorm(zero[], B[,]); 
  beta4[j,(1:J)]~ dmnorm(zero[], B[,]) }

这将创建一个 2 × 2 的模型系数矩阵。但是,您只在模型中使用和的对角线元素,beta3beta4有点奇怪。

于 2016-11-15T15:05:43.653 回答