簡體   English   中英

JAGS/BUGS 中的 if-else 條件

[英]If-else condition in JAGS/BUGS

我有很大的參數矩陣。

關鍵是在許多參數中,一些帶有任意索引的參數會導致值錯誤,我想修復它們。

玩具示例如下:

foo[3, 2] <- mu[3, 2]    # mu is some (4,4) matrix from data input

for (r in 1:4) {
  for (c in 1:4) {
    foo[r, c] ~ dnorm( mu[r, c], .01 )
  }
}

我看到了一些例子,比如1541430346730232 ,但我無法解決如何在我的案例中應用這些技巧(或類似技巧)的問題。

有沒有一種簡單的方法可以在 JAGS/BUGS 中實現這樣的邏輯?

最簡單的方法是在數據中提供foo ,其中foo[3,2]旁邊的所有條目都丟失並且foo[3,2]mu[3,2] 然后,您上面的代碼應該可以正常工作(如果您刪除了代碼中foo[3,2]的定義)。 另一種方法是定義固定單元周圍的循環。 例如:

for(r in c(1,2,4)){
  for(c in 1:4){
    foo[r, c]  ~ dnorm( mu[r, c], .01 )
  }
}
for(c in c(1,3,4)){
  foo[3, c] ~ dnorm( mu[r, c], .01 )
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM