我在下面的代码中遇到问题在编译过程中出现问题“节点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
答案 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]:一次作为确定性数量,一次作为随机变量(数据?)。