我使用rma.glmm
包中的metafor
命令荟萃分析药物的流行程度。使用对数变换,因为它们遵循二项分布。
所以,我的模型是:
med_A<-rma.glmm(xi=A, ni=Sample_size, measure="PLO")
使用以下代码制作森林图,结果如下所示。
forest(med_A, atransf = transf.ilogit, ilab = cbind(A, Sample_size),
ilab.xpos = c(-7,-5), slab = Study, refine=1)
比例看起来很奇怪,因为1.00出现两次而且分配不均。我怎样才能改变规模并制作变换后的森林情节?
答案 0 :(得分:1)
如果您在此处forest(med_A)
,您会看到默认的x轴刻度线是在-6, -4, ..., 6, 8
处绘制的。因此,如果您使用atransf=transf.ilogit
,则两个最高值为0.9975274
和0.9996646
(只需尝试:transf.ilogit(c(6,8))
),当四舍五入到小数点后两位时变为1.00
。如果你做forest(med_A, atransf=transf.ilogit, digits=3)
,你会发现那些真的是两个不同的值。所以这不是函数中的错误。
在这里获得一个体面的森林情节有点棘手(也因为研究3,这实际上是一个异常值)。您可以做的一件事是手动设置刻度线。例如:
forest(med_A, atransf=transf.ilogit, at=transf.logit(c(.01, .1, .5, .8, .95, .99, .9999)))
请注意,您不能将1用作最高值,因为这将是Inf
。四舍五入后,情节仍将显示1.00
作为最高刻度标记,但这有点误导,因为“真实”1无法在对数刻度上显示。
您可能希望转换值本身,而不是转换x轴值。所以:
forest(med_A, transf=transf.ilogit, refline=.5)
然后,CI将是不对称的,但由于使用了非线性(后向)转换,这是正确的。