2016-10-27 174 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.