比例的荟萃分析
Posted
技术标签:
【中文标题】比例的荟萃分析【英文标题】:Meta-analysis of proportion 【发布时间】:2021-12-30 02:55:32 【问题描述】:我尝试对单个比例进行荟萃分析。这是R代码:
# Packages
library(metafor)
# Data
dat <- dat.debruin2009 #from metafor package
# Metafor package ----
dat <- escalc(measure = "PLO", xi = xi, ni = ni, data = dat)
## Calculate random effect
res <- rma(yi, vi, data = dat)
res
predict(res, transf = transf.ilogit)
这是 res 对象的原始结果(logit):
Random-Effects Model (k = 13; tau^2 estimator: REML)
tau^2 (estimated amount of total heterogeneity): 0.4014 (SE = 0.1955)
tau (square root of estimated tau^2 value): 0.6336
I^2 (total heterogeneity / total variability): 90.89%
H^2 (total variability / sampling variability): 10.98
Test for Heterogeneity:
Q(df = 12) = 95.9587, p-val < .0001
Model Results:
estimate se zval pval ci.lb ci.ub
-0.1121 0.1926 -0.5821 0.5605 -0.4896 0.2654
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
这是predict()
的结果:
pred ci.lb ci.ub pi.lb pi.ub
0.4720 0.3800 0.5660 0.1962 0.7660
所以,我的问题是我从原始结果中得到了一个不显着的结果(p = 0.5605)。但是,来自predict()
的 CI 不超过零(CI = 0.3800, 0.5660),这表明结果很重要。我是否误解了某些内容或错过了 R 代码中的某个步骤?或者任何解释为什么结果是矛盾的?
================================================ ====
编辑: 我尝试使用 meta 包,我得到了与 metafor 类似的矛盾结果。
meta_pkg <- meta::metaprop(xi, ni, data = dat)
meta_pkg$.glmm.random
这是结果(与上面的predict()
类似的结果):
> meta_pkg
Number of studies combined: k = 13
Number of observations: o = 1516
Number of events: e = 669
proportion 95%-CI
Common effect model 0.4413 [0.4165; 0.4664]
Random effects model 0.4721 [0.3822; 0.5638]
Quantifying heterogeneity:
tau^2 = 0.3787; tau = 0.6154; I^2 = 87.5% [80.4%; 92.0%]; H = 2.83 [2.26; 3.54]
Test of heterogeneity:
Q d.f. p-value Test
95.96 12 < 0.0001 Wald-type
108.77 12 < 0.0001 Likelihood-Ratio
Details on meta-analytical method:
- Random intercept logistic regression model
- Maximum-likelihood estimator for tau^2
- Logit transformation
与 metafor 类似的原始结果:
> meta_pkg$.glmm.random
Random-Effects Model (k = 13; tau^2 estimator: ML)
tau^2 (estimated amount of total heterogeneity): 0.3787
tau (square root of estimated tau^2 value): 0.6154
I^2 (total heterogeneity / total variability): 90.3989%
H^2 (total variability / sampling variability): 10.4155
Tests for Heterogeneity:
Wld(df = 12) = 95.9587, p-val < .0001
LRT(df = 12) = 108.7653, p-val < .0001
Model Results:
estimate se zval pval ci.lb ci.ub
-0.1118 0.1880 -0.5946 0.5521 -0.4804 0.2567
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
【问题讨论】:
试试transf.ilogit(0)
,看看你会得到什么。
我猜transf.ilogit(0)
并没有真正对 logit 标度进行逆变换,因为我使用 res 对象得到了相同的结果。我尝试使用 meta 包得到与 metafor 相同的结果。
【参考方案1】:
p值是检验logit转换后的平均比例是否与0显着不同。这与检验比例是否与0显着不同。实际上transf.ilogit(0)
给出的是0.5,所以这是正在测试的比例的相应值。您会注意到 0.5 在反向转换后落在置信区间内。所以一切都是完全一致的。
【讨论】:
以上是关于比例的荟萃分析的主要内容,如果未能解决你的问题,请参考以下文章
数学分析高等代数考研试题荟萃[更新至2017年12月15日]
R语言生存分析详解:KM曲线COX比例风险模型HR值解读模型比较残差分析是否比例风险验证:基于survival包lung数据集
R语言进行主成分分析(PCA):使用prcomp函数来做主成分分析使用summary函数查看主成分分析的结果计算每个主成分解释方差的每个主成分解释的方差的比例以及多个主成分累积解释的方差比例