2015-03-02 71 views
0

我在下面的代碼中遇到了一個問題,在編譯過程「多重定義節點xi1 [1,1]」時出現了問題,請大家幫我解決這個問題。 提前很多感謝節點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

你有以下兩行:

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]) 

因爲這兩者在我環路,您已經定義XI [1,1]兩次:一次是作爲一個確定性的數量和一次作爲隨機變量(數據?)。

+0

非常感謝您的回覆,我現在應該做什麼,如果我刪除了xi [i,1:2]的第二個定義,錯誤將會是「期望的多元節點」,所以我不能刪除它們中的任何一個。任何幫助,將不勝感激。 – thanoon 2015-03-04 02:02:39

+0

現在的錯誤是「期望多變量節點」,而不刪除它們中的任何一個。 – thanoon 2015-03-04 02:19:50