2016-10-27 173 views
1

我希望JAGS模型中的变量被分配一个概率为p [i]的值,另一个值为概率1-p [i]。 p [i]是模型中的变量。JAGS中的概率ifelse语句

我试过以下,但我不确定它是否合适。恐怕单个值(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)  
    } 
+0

BUGS语言 - 这正是JAGS读取 - 是一个模型声明性语言它受到了R的启发,并且被认为是R的外观和感觉,而不是R语言的子集,这是一种程序语言。所以R函数'ifelse'不是BUGS语言的一部分。 –

回答

3

你可以做类似的事情。

for(i in 1:n){ 
m[i] ~ dbern(p[i]) 
a[i] <- (m[i] * 20) + ((1 - m[i]) * 30) 
} 

当伯努利线索需要1在概率pa变为20。当它需要一个0变得30.