我是 Winbugs 的新手,我正在尝试编写用于网络元分析的随机效应模型。我为治疗效果“sd~dunif(0,5)”的标准差设置了一个模糊的先验,我发现 sd 的估计值 eqaul ca。2. 当我增加或减少这个范围时,sd 的估计值会成比例地变化。如果有人可以查看此代码并可能对其进行改进,我将不胜感激。
数据结构如下所示: data_structure
#DATA
list(n=4, t=4, ref=1)
y[] se[] t1[] t2[]
0.8 0.09 1 2
0.73 0.12 1 3
1.03 0.34 3 4
0.4 0.2 1 4
END
- n - 研究数量
- t - 治疗次数
- ref - 为荟萃分析选择的参考治疗
- y - 是观察变量:t1 和 t2 之间的治疗差异
- se - 是 y 的标准误差
- t1 - 是手臂 1 的治疗
- t2 - 是手臂 2 的治疗
随机效应模型
model{
for (i in 1:n){
y[i]~dnorm(delta[i],prec[i])
var[i]<-pow(se[i],2)
prec[i]<-1/var[i]
delta[i]~dnorm(md[i],taud[i])
md[i]<-d[t2[i]]-d[t1[i]]
taud[i]<- tau*2
}
sd~dunif(0,5)
tau<-1/pow(sd,2)
for(k in 1:ref-1){
d[k]~dnorm(0,0.0001)
}
d[ref]<-0
for(k in ref+1:t){
d[k]~dnorm(0,0.0001)
}
}