在编译过程中,我收到的错误是 - "多变量分发必须包含多个组件",我无法获得有关此错误的大量信息。任何有任何想法如何解决这个问题的人请分享。感谢。
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
答案 0 :(得分:0)
你需要做这样的事情:
for (j in 1:J) {beta3[j,(1:J)]~ dmnorm(zero[], B[,]);
beta4[j,(1:J)]~ dmnorm(zero[], B[,]) }
这将创建一个2乘2的模型系数矩阵。但是,您只在模型中使用beta3
和beta4
的对角元素,这有点奇怪。