rjags を使用してベイジアン回帰モデルを実行しようとしていますが、データには 4 つの関連条件があります。条件間で折りたたむとモデルは正常に実行されますが、このモデルを条件ごとに個別に実行するように指定する場所/方法がわかりませんが、それでもcoda.samples
ベータ値を比較できる出力が得られます (4 Beta0 および 4 つの Beta1 値 (条件ごとに 1 つ)。これが私のモデルです:
order_model <-
"model {
beta_0 ~ dnorm(0, .0000001)
beta_1 ~ dnorm(0, .0000001)
sigma ~ dunif(0, 100)
sigma_u0 ~ dunif(0,100)
sigma_u1 ~ dunif(0,100)
sigma_i0 ~ dunif(0,100)
for (i in 1:num_items) {
w_0i[i] ~ dnorm(0, 1/sigma_i0^2)
}
for (i in 1:num_subj+1) {
u_0s[i] ~ dnorm(0, 1 / sigma_u0^2)
u_1s[i] ~ dnorm(0, 1 / sigma_u1^2)
}
for (i in 1:length(rt)) {
rt[i] ~ dnorm((beta_0 + w_0i[item[i]] + u_0s[subject[i]]) + (beta_1 + u_1s[subject[i]]) * order[i], 1/sigma^2)
}
}"
サブジェクトとアイテムは固定効果オフセットを取得するために参照され、「rt」は連続従属変数です。条件は、値が 1:4 のベクトル「条件」でコード化されます。
どこかに別の for ループが必要だと思いますが、どこにあるのかわかりません。