节点xi1 [1,1]的多重定义

时间:2015-03-02 08:33:33

标签: bayesian normal-distribution

我在下面的代码中遇到问题在编译过程中出现问题“节点xi1 [1,1]的多重定义”,有人帮我解决这个问题。 非常感谢提前

model {  
for(i in 1:N){ 
#measurement equation model 
for(j in 1:P){y[i,j]~dnorm(mu[i,j],psi[j])I(thd[j,z[i,j]],thd[j,z[i,j]+1])} 
xi[i,1]<-mu[i,1]+lam[1]*mu[i,2]+lam[2]*mu[i,3]+lam[3]*mu[i,4]+lam[4]*mu[i,5]+lam[5]*mu[i,6]
xi[i,2]<-mu[i,1]+lam[1]*mu[i,2]+lam[2]*mu[i,3]+lam[3]*mu[i,4]+lam[4]*mu[i,5]+lam[5]*mu[i,6]+xi[i,1]
#structural equation model 
xi[i,1:2]~dmnorm(zero2[1:2],phi[1:2,1:2]) 
eta[i]~dnorm(nu[i],psd1) 
nu[i]<-gam[1]*xi[i,1]
mu[i,1:6]~dnorm(0.8,4.0) 
}# end of i
for(i in 1:2){zero2[i]<-0.0} 
#priors on loadings and coefficients 
for(i in 1:5){lam[i]~dnorm(0.8,4.0)} 
for(i in 1:1){gam[i]~dnorm(0.6,4.0)} 
#priors on precisions 
for(j in 1:P){ 
psi[j]~dgamma(10,8) 
sgm[j]<-1/psi[j]} 
psd~dgamma(10,8) 
sgd<-1/psd
phi[1:2,1:2]~dwish(R[1:2,1:2], 30) 
phx[1:2,1:2]<-inverse(phi[1:2,1:2]) 
} #end of model 

1 个答案:

答案 0 :(得分:0)

你有这两行:

xi[i,1]<-mu[i,1]+lam[1]*mu[i,2]+lam[2]*mu[i,3]+lam[3]*mu[i,4]+lam[4]*mu[i,5]+lam[5]*mu[i,6]
...
xi[i,1:2]~dmnorm(zero2[1:2],phi[1:2,1:2]) 

由于两者都在i循环中,因此您已经定义了两次xi [1,1]:一次作为确定性数量,一次作为随机变量(数据?)。