If statement JAGS中的概率ifelse语句

If statement JAGS中的概率ifelse语句,if-statement,bayesian,jags,If Statement,Bayesian,Jags,我想要一个JAGS模型中的变量被分配一个概率为p[I]的值和另一个概率为1-p[I]的值。p[i]是模型中的一个变量 我试过以下方法,但我不确定是否合适。我担心一个单一的值(0或1)将归属于受试者I,并且该值将始终保持不变:对于给定的受试者I,向量a[I]中的值将始终等于20或30。我想得到的是一个包含20s和30s的向量,20的概率等于p[I] for (i in 1:n) { m[i] ~ dbin(p[i],1) a[i] <- ifelse(m[i]==1, 20,

我想要一个JAGS模型中的变量被分配一个概率为p[I]的值和另一个概率为1-p[I]的值。p[i]是模型中的一个变量

我试过以下方法,但我不确定是否合适。我担心一个单一的值(0或1)将归属于受试者I,并且该值将始终保持不变:对于给定的受试者I,向量a[I]中的值将始终等于20或30。我想得到的是一个包含20s和30s的向量,20的概率等于p[I]

  for (i in 1:n) {
  m[i] ~ dbin(p[i],1) 
  a[i] <- ifelse(m[i]==1, 20, 30)     
  } 
for(1:n中的i){
m[i]~dbin(p[i],1)

a[i]你可以做类似的事情

for(i in 1:n){
m[i] ~ dbern(p[i])
a[i] <- (m[i] * 20) + ((1 - m[i]) * 30)
}
for(1:n中的i){
m[i]~dbern(p[i])
一种[i]BUGS语言——JAGS所读的东西——是一种模型声明性语言,其灵感来源于R,其外观和感觉与R相似,而不是实际上是程序语言R语言的子集。因此,R函数
ifelse
不是BUGS语言的一部分。