1

Would someone please let me know what the equals function in WinBUGS return if one of the elements in the equals brackets is NA?

Specifically, I want to do the transformation:

for(i in 1:N){
    newvar[i] <- 1*equals(oldvar[i],0) + 2*equals(oldvar[i],1.5) + 3*equals(oldvar[i],4) + 4*equals(oldvar[i],8)
}

and want to preserve NA's, so records with NA in oldvar[i] also has NA in newvar[i], but I am afraid that this tranformation turns NA's into 0's.

Any and all advice is much appreciated.

Trang

4

1 に答える 1

2

oldvar[1] に以前のディストリビューションを配置していない場合は、エラー メッセージ (未定義のノードを使用) が表示されます。WinBUGS は、計算で使用される場合、すべてのノードに値があると想定します。事前確率を設定した場合、WinBUGS は oldvar[1] の事後分布から値を生成し、equals() 関数はそれらの生成された値で動作する必要があります。oldvar[1] に対して体系的にゼロを生成する事前確率を使用しましたか? 欠損データのモデル化に関心がない場合は、WinBUGS で使用する前にデータから欠損値を削除することをお勧めします。

于 2013-05-17T11:12:49.223 に答える