先决条件以其他先决条件为条件

问题描述

我正在尝试从1到5000的分类分布中采样两个参数(先前),theta [1]和theta [2],并要求theta1

我已经尝试过(其中包括):

theta[1] ~ dcat(p1[])
p1[1:n] <- 1/n 


theta[2] ~ dcat(p2[])
pi2[1:theta[1]] <- 0 
pi2[sum(theta[1],1):n] <- 1/sum(n,-pi1) 

其中n = 5000 以便从theta1到n的分类分布中对theta2进行采样。

错误是:未知变量theta [1]。

任何帮助将不胜感激。

解决方法

如果在带有n=5000的分类变量中,唯一的要求是theta1 theta2,则可以使用order()函数:

theta.star[1] ~ dcat(p1[])
theta.star[2] ~ dcat(p1[])
theta <- order(theta.star)

order()函数是在JAGS中施加顺序约束的一种方法。