1

我是 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)
    }

}
4

0 回答 0