tianjfang
model
{
for (i in 1:N)
{
r~dbin(p,n)
b~dnorm(0,tau)
logit(p)<-alpha0+alpha1*x1+alpha2*x2+alpha12*x1*x2+b
}
alpha0~dnorm(0.0,1.0E-6)
alpha1~dnorm(0.0,1.0E-6)
alpha2~dnorm(0.0,1.0E-6)
alpha12~dnorm(0.0,1.0E-6)
tau~dgamma(0.001,0.001)
sigma<-1/sqrt(tau)
}
list(
r=c(10,23,23,26,17,5,53,55,32,46,10,8,10,8,23,0,3,22,15,32,3)
n=c(39,62,81,51,39,6,74,72,51,79,13,16,30,28,45,4,12,41,30,51,7)
x1=c(0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1)
x2=c(0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1)
N=21
)
list(
alpha0=0,alpha1=0,alpha2=0,alpha12=0,tau=1
)
问题有如下几点:
1、b[i]服从标准正态分布,在程序中怎么增加语句
2、在导入数据的时候说N变量有问题
3、赋初值的时候说模型中有的变量没有赋值
拜托谢谢!
revell
1、b服从标准正态分布,在程序中怎么增加语句
b~dnorm(0,1),不知道对不对.
2、在导入数据的时候说N变量有问题
数据间要加逗号。
r=c(10,23,23,26,17,5,53,55,32,46,10,8,10,8,23,0,3,22,15,32,3),
n=c(39,62,81,51,39,6,74,72,51,79,13,16,30,28,45,4,12,41,30,51,7),
x1=c(0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1),
这样.
3、赋初值的时候说模型中有的变量没有赋值
b要在initial里表达.
建议你找个例子仔细看看每个语法细节.我也是初学者,共同进步.
revell
数据的list之前和结尾之后要留出至少一个空行,要不然程序读不了数据.
还有logit(p)<-alpha0+alpha1*x1[ i ]+alpha2*x2[ i ]+alpha12*x1[ i ]*x2[ i ]+b
最后的b是不是individual-specific effects?要不要写成b[ i ]?我觉得按你上面的代码程序无法分别alpha0和b.
lindammay
我按楼上说的试了一下,还是不行阿。如果用winbugs1.4,在模型结束后应当加“END”吧。具体怎么改行得通,我试了几次还没找到原因。
我不是很懂楼主的模型,不过从模型看,如果alpha12*x1*x2表示交叉效应之类,那么按照楼主的data,交叉效应就只有两种可能,0和1,我想这是否不太合理?(是否应当有4种可能?)
我也觉得如果b不变的话,跟alpha0没什么区别。
rtist
xinwq
for (i in 1:N)
{
r~dbin(p,n)
b~dnorm(0.0,tau)
logit(p)<-alpha0+alpha1*x1+alpha2*x2+alpha12*x1*x2+b
}
alpha0~dnorm(0.0,1.0E-6)
alpha1~dnorm(0.0,1.0E-6)
alpha2~dnorm(0.0,1.0E-6)
alpha12~dnorm(0.0,1.0E-6)
tau~dgamma(0.001,0.001)
sigma<-1/sqrt(tau)
}
list(
r=c(10,23,23,26,17,5,53,55,32,46,10,8,10,8,23,0,3,22,15,32,3),
n=c(39,62,81,51,39,6,74,72,51,79,13,16,30,28,45,4,12,41,30,51,7),
x1=c(0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1),
x2=c(0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1),
N=21
)
list(
alpha0=0,alpha1=0,alpha2=0,alpha12=0,tau=1,b=c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
)
xinwq
mean sd MC_error val2.5pc median val97.5pc start sample
alpha0 -0.5468 0.1938 0.004649 -0.9318 -0.5455 -0.162 1 10000
alpha1 0.08008 0.3163 0.007708 -0.5703 0.08808 0.6785 1 10000
alpha12 -0.8205 0.443 0.009268 -1.712 -0.8171 0.02605 1 10000
alpha2 1.35 0.283 0.006901 0.7934 1.346 1.93 1 10000
sigma 0.2895 0.1478 0.007069 0.0387 0.2822 0.6049 1 10000
cran
我对tau~dgamma(0.001,0.001)表示怀疑