目录

目录

1.引言

2.安装,数据的读取和保存

不讲。这个有别的大佬讲了,没有创新点。

3.标准方法

3.1 固定效应模型与随机效应模型

3.1.1 连续型结果的数据测量

3.1.2 固定效应模型

3.1.3 随机效应模型

3.1.4 异质性检验

3.1.5 亚组分析

3.1.6 其他结果的meta分析

3.1.7 总结

3.2 二元结果的meta分析

3.3 异质性与meta回归

4.进阶操作(将在后续部分讲,敬请期待)

4.1 小小的,也很可爱

4.2 我的数据少东西了

4.3 多元meta

4.4 网络meta分析

4.5 让我看看你的诊断准不准?

5.总结和尾声



恕小菜鸟直言,长文章不放目录,纯纯耍流氓。


1.引言

本文章仅供自己学习参考,如有不当之处,请各位大佬多多指正。你说这又要当医学生,又要写代码的,真的很不容易;而且还没有人带,那就更头大了,发出来主要也就是想和志同道合的小伙伴们一起讨论。

参考数据知识来自于:metafor包列出的参考文献《meta with R》以及《R语言实战 第二版》,后者在我看来是最好的R入门书。当然我知道大佬可能随便找点参考视频,meta分析就已经拿捏住了。那么请略过此贴吧。

本书在开头就已经介绍了连续型数据的参考绘图方法,我用自己的数据展示了一下函数的写法,因为原文中的一些参数已经不能直接那么写了。因为后面这个包将主要介绍metagen功能下的数据处理模式(原书中参考的是哮喘的一组数据,我则是使用了一组不同椎弓根螺钉置钉方法术中出血量的数据)。

本人R版本4.2.1,写下此贴的时候4.2.2的大部分更新包都已经上线。后面的更新可能会导致包内的功能差异,表达一下大意,还是得自己多多摸索。

m <- metacont(n.e=Total,      #此处是我自己修改的,因为版本更迭,各种参数的名称略有变化了mean.e = Mean,  #分别代表实验组:对照组的平均值,sd,总样本量sd.e  =SD, n.c=Total.1, mean.c =Mean.1, sd.c=SD.1,studlab=paste(study, year), #这两列分别是作者名字和年份data=BLOOD) #数据是我自己随便从网上抄来的,换成大家自己的就行
settings.meta("Revman5")  # 设置meta格式为经典的revman小绿图,嘿嘿
forest(m,squaresize = 0.4,  #设置方块大小label.left = "Favours [Cortical screw]", label.right = "Favours [Pedicle screw]",fixed = F) #数据i方很大,只看随机效应模型就加此命令;反之为random =F

那么实际做出来的森林图如下:

怎么样,加了设置格式的命令之后是不是非常的“revman”?尤其是异质性的计算部分,嘿嘿。

来个森林图开开胃,下面开始正文吧(正文中出示的数据来自:http://meta-analysis-with-r.org/ 网站上的dataset.csv数据集,比较奈多克罗米尔钠和安慰剂预防运动性支气管收缩的效果;doi号:10.1002/14651858.CD001183)。


2.安装,数据的读取和保存

不讲。这个有别的大佬讲了,没有创新点。


3.标准方法

3.1 固定效应模型与随机效应模型

在此处举例同引言部分的例子,做的是一个连续型变量。虽然觉得纯属多余,还是粘贴一下做meta前需要的数据表格。

收集好这些数据,用R将数据读取,并且进行meta分析。

3.1.1 连续型结果的数据测量

①拳打SD

公式如图中所示,α为检验水平,正常的双尾计算都取95%置信区间,那么这个Z算得的值就是Z0.975 = 1.96,直接带入计算。作为一个受过专业训练的研究生,我当然是直接使用meta包中的metacont()命令来计算。这个公式纯纯当一个验算步骤,谁爱算谁算去。注意一点:metacont下默认的一个参数叫“sm = " " ”,如不加以限定,则默认为SD,不是算SMD或者WMD的,这两个需要自己调参数。

在某些特殊情况下,你可能想要从数据中删掉那么一行,那么请参考subset这个参数。

subset = -2 #从所有study中删掉第二个

subset = !(study == "Sakaura et al"&year == "2018")#定向删除某作者某年份的study

②脚踹标准化均差-SMD

可能有小伙伴要问了,为什么要使用标准化均差?什么情况用?

其实很简单。量纲不一样,或者说评分之类的使用的量表不一样,必须用SMD了。

公式只展示在代码,你们不会真有人手撕吧?

# 此处为原文实例代码,别问我,都很简单
# 1. Read in the data:data2 <- read.csv("dataset02.csv")
# 2. As usual, to view an object, type its name:data2
author Ne Me Se Nc Mc Sc
1 Blashki(75%150) 13 6.40 5.40 18 11.40 9.60
2 Hormazabal(86) 17 11.00 8.20 16 19.00 8.20
3 Jacobson(75-100) 10 17.50 8.80 6 23.00 8.80
4 Jenkins(75) 7 12.30 9.90 7 20.00 10.50
5 Lecrubier(100) 73 15.70 10.60 73 18.70 10.60
6 Murphy(100) 26 8.50 11.00 28 14.50 11.00
7 Nandi(97) 17 25.50 24.00 10 53.20 11.20
8 Petracca(100) 11 6.20 7.60 10 10.00 7.60
9 Philipp(100) 105 -8.10 3.90 46 -8.50 5.20
10 Rampello(100) 22 13.40 2.30 19 19.70 1.30
11 Reifler(83) 13 12.50 7.60 15 12.50 7.60
12 Rickels(70) 29 1.99 0.77 39 2.54 0.77
13 Robertson(75) 13 11.00 8.20 13 15.00 8.20
14 Rouillon(98) 78 15.80 6.80 71 17.10 7.20
15 Tan(70) 23 -8.50 8.60 23 -8.30 6.00
16 Tetreault(50-100) 11 51.90 18.50 11 74.30 18.50
17 Thompson(75) 11 8.00 8.10 18 10.00 9.70
> # 3. Calculate total sample sizes
summary(data2$Ne+data2$Nc)
#Min. 1st Qu. Median Mean 3rd Qu. Max.
#14.00 26.00 31.00 53.06 54.00 151.00# 喜欢手撕?#####
# 1. Calculate standardised mean difference (SMD) and
# its standard error (seSMD) for study 1 (Blashki) of
# dataset data2:N <- with(data2[1,], Ne + Nc)SMD <- with(data2[1,],(1 - 3/(4 * N - 9)) * (Me - Mc) / sqrt(((Ne - 1) * Seˆ2 + (Nc - 1) * Scˆ2)/(N - 2)))seSMD <- with(data2[1,],sqrt(N/(Ne * Nc) + SMDˆ2/(2 * (N - 3.94))))# 2. Print standardised mean difference and limits of 95% CI# interval using round function to show only two digits:
round(c(SMD, SMD + c(-1,1) * qnorm(1-(0.05/2)) * seSMD), 2)
[1] -0.60 -1.33 0.13#metacont ####
print(metacont(Ne, Me, Se, Nc, Mc, Sc, sm="SMD",
+ data=data2, subset=1), digits=2)
SMD 95%-CI z p-value
-0.6 [-1.33; 0.13] -1.61 0.1083
Details:
- Inverse variance method

是的,说白了就是加一个sm = "SMD"。讲完数据开始讲,选模型的问题。

3.1.2 固定效应模型

固定效应模型假设元分析中各成分研究的估计效应来自单一同质人群。说人话就是,这些研究里面的参与者身上采集得到的数据很整齐,他们很可能来自同一个地区、说同一种语言、饮食习惯类似、身高体重类似等等等等。真实的合并效应量疑似服从均值为θ,方差为研究内抽样误差导致的误差的正态分布。

此外,考虑到一些研究做的比其他研究更好(主要是数据量大,数据本身se小),为了计算总体合并效应量,我们把各个研究得到的效应量匀一匀,或者说,给他加了一个叫做权重Weight的东西。示例代码如下:

#手撕####
> # 1. Calculate mean difference, variance and weights
> MD <- with(data1, Me - Mc)
> varMD <- with(data1, Seˆ2/Ne + Scˆ2/Nc)
> weight <- 1/varMD
> # 2. Calculate the inverse variance estimator
> round(weighted.mean(MD, weight), 4)
[1] -15.514
> # 3. Calculate the variance
> round(1/sum(weight), 4)
[1] 1.4126#metacont####
> mc1 <- metacont(Ne, Me, Se, Nc, Mc, Sc,
+ data=data1,
+ studlab=paste(author, year))
> round(c(mc1$TE.fixed, mc1$seTE.fixedˆ2), 4)
[1] -15.5140 1.4126##画图
> forest(mc1, comb.random=FALSE, xlab=
+ "Difference in mean response (intervention - control)
+ units: maximum % fall in FEV1",
+ xlim=c(-50,10), xlab.pos=-20, smlab.pos=-20)> # 应用metafor包-metagen函数,需要算出TE,seTE并且标注出来
> mc1.gen <- metagen(mc1$TE, mc1$seTE, sm="MD")###那么类似的,进行SMD的计算 #########################################> # 1. Calculate standardised mean difference,运用R基础包计算
> # variance and weights
> N <- with(data2, Ne + Nc)
> SMD <- with(data2,
+ (1 - 3/(4 * N - 9)) * (Me - Mc)/
+ sqrt(((Ne - 1) * Seˆ2 + (Nc - 1) * Scˆ2)/(N - 2)))
> varSMD <- with(data2,
+ N/(Ne * Nc) + SMDˆ2/(2 * (N - 3.94)))
> weight <- 1/varSMD
> # 2. Calculate the inverse variance estimator
> round(weighted.mean(SMD, weight), 4)
[1] -0.3915
> # 3. Calculate the variance
> round(1/sum(weight), 4)
[1] 0.0049> mc2 <- metacont(Ne, Me, Se, Nc, Mc, Sc, sm="SMD", #metacont
+ data=data2)
> round(c(mc2$TE.fixed, mc2$seTE.fixedˆ2), 4)
[1] -0.3915 0.0049

模型中得到的TE这个东西,就叫做合并效应量,se这一行是它的标准误。

展示模型得到得到结果,使用print(summary(mc2), digits=2) 这一行命令。

3.1.3 随机效应模型

很多研究合并时发现异质性很大。这是怎么回事呢?此时你肯定不能假定所有研究人群都来自某一同质的总体了。换言之,研究间存在着差异,也就是合并效应量的计算得加一个额外的项目u来讨论这玩意儿。进行模型计算时我们假设u也服从一个均值为0,标准差为τ的正态分布;并且随机效应模型的核心假设其实在于,u这个东西和研究k并无内在联系,两个分布各玩各的。

这就是所谓的互换性假设。如果我们接受这一假设,那么和固定效应模型相比,计算总体效应估计将更加关注来自较小研究的效应估计。上面说的这种差异的讨论,正是两种模型选择的核心问题。许多作者认为,由于小型研究更容易受到偏见的影响,固定效应估计(几乎)总是可以使用的;我们也常常看到,很多作者做出来异质性不大,还是会用随机效应模型验证一下自己的结果——所以不需要限制那么死板,言之有科学道理,他就是好的meta分析,是吧。

那么你需要提防的问题主要应该包括1 随机效应模型更加关注小样本的研究,2 随机效应模型得到的置信区间可能更宽。

①估算研究间变异

DerSimonian–Laird estimator 估计方法是最流行的、也是默认方法。

②Hartung-Knapp调整

Hartung和Knapp在随机效应模型中引入了一种新的基于精细方差估计量的元分析方法,有研究人员特地在内科学年鉴上吹捧啊,说这个方法比DerSimonian–Laird的还好。到底牛逼在哪里我其实也不懂,不过我能做一做试试看。

#直接metacont函数
> mc2.hk <- metacont(Ne, Me, Se, Nc, Mc, Sc, sm="SMD",
+ data=data2, comb.fixed=FALSE,   #这里是随机效应模型,把固定给我关了
+ hakn=TRUE)#或者使用metagen
> mc2.hk <- metagen(TE, seTE, data=mc2, comb.fixed=FALSE,
+ hakn=TRUE)> print(summary(mc2.hk), digits=2)
Number of studies combined: k=17
95%-CI t p-value
Random effects model -0.59 [-0.95; -0.22] -3.4 0.0036
Quantifying heterogeneity:
tauˆ2 = 0.2309; H = 1.91 [1.5; 2.43]; Iˆ2 = 72.5% [55.4%; 83.1%]
Test of heterogeneity:
Q d.f. p-value
58.27 16 < 0.0001
Details on meta-analytical method:
- Inverse variance method
- DerSimonian-Laird estimator for tauˆ2
- Hartung-Knapp adjustment for random effects model

这个方法算下来的特点(据书中所言)就是置信区间又宽了。

③预测区间 Prediction Intervals

只是把别人的结果合并,似乎有点不能满足各位统计学大师了。于是他们搞了套公式,计算以后的研究结果可能出现的范围。除了总结历史,我们还能展望未来,怎么样,nb吧。当然了,这个区间的含义就只是一个区间,不是针对点估计值θ的;从中得到的结论是,我们预测今后的平均治疗效果至少也得>11%。

> print(summary(mc1, prediction=TRUE), digits=2)
Number of studies combined: k=17
MD 95%-CI z p-value
Fixed effect model -15.51 [-17.84; -13.18] -13.05 < 0.0001
Random effects model -15.64 [-18.14; -13.15] -12.30 < 0.0001
Prediction interval [-19.94; -11.35]
*** Output truncated ***#简简单单画个图
forest(mc1, prediction=TRUE, col.predict="black")

3.1.4 异质性检验

metacont又来算异质性了。具体的细节可见后文部分。

计算异质性I方需要的公式包括

Q<K-1,不存在异质性,否则套公式计算。

Q越大(和K-1比),算得H方也就越大,异质性就越会接近100%;反之Q小小的,I方也小(起码得小于50%),那么在结论中你可以直接表述为 “有强有力的证据表明奈多克米尔钠改善运动后支气管收缩”;反之异质性若很大,那只有数据非常好(P <<0.05)的的时候,你才能这样下结论。

3.1.5 亚组分析

> # 1. Read in the data:
> data3 <- read.csv("dataset03.csv")
> # 2. As usual, to view an object, type its name:
> data3 #这里就不读取数据了,太长> mc3 <- metacont(Ne, Me, Se, Nc, Mc, Sc, data=data3,
+ studlab=paste(author, year))
Warning message:   ##你看,大佬也有报错的哇 ,看看大佬的处理方法吧
In metacont(Ne, Me, Se, Nc, Mc, Sc, data = data3, :
Studies with non-positive values for sd.e or sd.c get no weight
in meta-analysis.  > mc3$studlab[mc3$w.fixed==0]   #通过权重=0筛选出报错的研究
[1] "Jackson 1984" "Grillage 1985"> print(summary(mc3), digits=2)
Number of studies combined: k=21
MD 95%-CI z p-value
Fixed effect model -0.05 [-0.05; -0.04] -10.06 < 0.0001
Random effects model -0.08 [-0.11; -0.05] -5.82 < 0.0001
Quantifying heterogeneity:
tauˆ2 = 0.0027; H = 2.63 [2.19; 3.15]; Iˆ2 = 85.5% [79.1%; 89.9%] #异质性有点大# 然后亚组分析
> mc3s <- metacont(Ne, Me, Se, Nc, Mc, Sc, data=data3,
+ studlab=paste(author, year),
+ byvar=duration, print.byvar=FALSE)
# 方法2是直接使用upodate 函数,省的再次输入参数
> mc3s <- update(mc3, byvar=duration, print.byvar=FALSE)#根据结果画图
> forest(mc3s, xlim=c(-0.5, 0.2),
+ xlab="Difference in mean number of acute exacerbations
per month")

给出结果时命令为:print(summary(mc3s), digits=2)

随机/固定效应模型的两种结果都会显示。你看,不需要太花里胡哨的命令,图就已经很高大上。

3.1.6 其他结果的meta分析

在这一部分将开始大量使用metagen方法。但是有没有可以替换的功能函数?肯定有的,原作中只给出了函数的名字,没有提用法,列出来看看吧。

•相关性meta分析的meta函数=metacor,

•发病率比meta分析的meta函数=metainc,

•单一比例meta分析的meta函数=metaprop(这个后面会讲)。

① 生存数据的meta

举个简单的例子,你想研究某一疾病从发病(基线)到最终死亡(终点事件)的关系,则这种类型的数据称为时间-事件数据或生存数据。事件发生的时间是一个连续的量,然而,与迄今为止使用的具有连续型数据的示例相反,事件发生的时间通常不能被所有参与者观察到,因为研究中的最大随访时间是有限的。在随访期间没有发生终点事件的患者称为 censored observations,或者叫另一个我很喜欢的说法:“截尾”。截尾是生存数据的一个显著特征。

生存数据的另一个重要方面(本书没有涉及)是竞争事件,例如,研究心血管疾病与死亡时,有些参与者确实因为冠心病死亡,但也有参与者被泥头车送去异世界了;那么他原本会因为冠心病而死亡的时间就无法被观察到。在这种情况下,只能观察到由于心血管或非心血管原因而死亡的时间。在生存分析中,风险函数,即描述给定生存到特定时间点的瞬时死亡风险的函数,起着核心作用。为了比较两组不同暴露人群的结局差异,通常使用风险比(hazard ratio,HR),即风险函数的比率。因此,风险比的对数及其标准误差是meta分析中使用的基本量。由于风险比和相应的标准误差并不总是在出版物中报告,存在几种方法来获得这些数量,例如从已发表的生存曲线中。通用逆方差法可以直接使用对数风险比logHR及其标准误差se。在下面的例子中,我们考虑最基本的情况,即固定效应和随机效应的meta分析,使用dersimonan - laird方法估计研究间方差2。

> # 1. Read in the data 用的是04号文件
> data4 <- read.csv("dataset04.csv")
> # 2. Print data
> data4 #看看数据
author year Ne Nc logHR selogHR
1 FCG on CLL 1996 53 52 -0.5920 0.3450
2 Leporrier 2001 341 597 -0.0791 0.0787
3 Rai 2000 195 200 -0.2370 0.1440
4 Robak 2000 133 117 0.1630 0.3120##开始使用高贵的metagen函数
> mg1 <- metagen(logHR, selogHR,
+ studlab=paste(author, year), data=data4,
+ sm="HR")> print(mg1, digits=2) ##看看结果
HR 95%-CI %W(fixed) %W(random)
FCG on CLL 1996 0.55 [0.28; 1.09] 3.68 5.85
Leporrier 2001 0.92 [0.79; 1.08] 70.70 59.76
Rai 2000 0.79 [0.59; 1.05] 21.12 27.32
Robak 2000 1.18 [0.64; 2.17] 4.50 7.08
Number of studies combined: k=4
HR 95%-CI z p-value
Fixed effect model 0.89 [0.78; 1.01] -1.82 0.0688
Random effects model 0.87 [0.74; 1.03] -1.58 0.1142

② 交叉实验的meta分析

交叉试验是另一种比较治疗方法的流行设计。在交叉试验中,患者自己就是自己的对照。它的优势在于,从治疗比较中去除患者之间的差异,使患者数量减少,还能达到相同的统计功效。交叉试验的适用情况是慢性但稳定的疾病,即患者既不能治愈,也不会随着时间的推移(急剧)恶化。

在简单的交叉设计中,患者被随机分配到治疗序列AB或BA,即要么先接受治疗a,然后“交叉”到治疗B,反之亦然。通常,第一治疗期和第二治疗期被所谓的洗脱期分开,使得第一治疗期的治疗效果不转移到第二治疗期。原则上,两种治疗A和B的更长的序列是可能的,例如ABBA。注意,交叉试验的第一阶段等同于平行组研究设计。《医学统计学》(Statistics in Medicine)的一系列论文已经描述了交叉试验荟萃分析的统计方法以及平行组和交叉试验的结合。

对于具有连续结果的交叉试验的荟萃分析,可以使用通用逆方差法。在此例中,Curtin等报道了12项平行组试验和21项交叉试验的结果,以评估补充钾对降低收缩压和舒张压的影响(Meta-analysis combining parallel and cross-over clinical trials. I: Continuous outcomes - PubMed)。书中选取了交叉实验+舒张压的组合提取数据。标注了ab的是因为实验设计是双臂的,其他的可能本来就只有一组受试者,阶段1补钾,阶段2不补,就此完成试验。

在荟萃分析中我们其实没有使用相关性(corr)这一列,然而,通过使用交叉设计,这些值给出了精度增益的一些指示。所有相关性都在0以上,范围在0.29 ~ 0.88之间。

> # 1. Read in the data
> data5 <- read.csv("dataset05.csv")
> # 2. Print data
> data5
author year N mean SE corr
1 Skrabal et al. 1981a 20 -4.5 2.1 0.49
2 Skrabal et al. 1981b 20 -0.5 1.7 0.54
3 MacGregor et al. 1982 23 -4.0 1.9 0.41
4 Khaw and Thom 1982 20 -2.4 1.1 0.83
5 Richards et al. 1984 12 -1.0 3.4 0.50
6 Smith et al. 1985 20 0.0 1.9 0.50
7 Kaplan et al. 1985 16 -5.8 1.6 0.65
8 Zoccali et al. 1985 23 -3.0 3.0 0.50
9 Matlou et al. 1986 36 -3.0 1.5 0.61
10 Barden et al. 1986 44 -1.5 1.4 0.44
11 Poulter and Sever 1986 19 2.0 2.2 0.36
12 Grobbee et al. 1987 40 -0.3 1.5 0.61
13 Krishna et al. 1989 10 -8.0 2.2 0.48
14 Mullen and O’Connor 1990a 24 3.0 2.0 0.50
15 Mullen and O’Connor 1990b 24 1.4 2.0 0.50
16 Patki et al. 1990 37 -13.1 0.7 0.53
17 Valdes et al. 1991 24 -3.0 2.0 0.50
18 Barden et al. 1991 39 -0.6 0.6 0.88
19 Overlack et al. 1991 12 3.0 2.0 0.50
20 Smith et al. 1992 22 -1.7 2.5 0.29
21 Fotherby and Potter 1992 18 -6.0 2.5 0.81> mg2 <- metagen(mean, SE, studlab=paste(author, year),
+ data=data5, sm="MD")  ###sm选择的是MD> print(summary(mg2), digits=2)# 展示结果
Number of studies combined: k=21
MD 95%-CI z p-value
Fixed effect model -3.71 [-4.32; -3.11] -12.03 < 0.0001
Random effects model -2.38 [-4.76; -0.01] -1.96 0.0495
Quantifying heterogeneity:
tauˆ2 = 27.03; H = 3.66 [3.14; 4.25]; Iˆ2 = 92.5% [89.9%; 94.5%]
Test of heterogeneity:
Q d.f. p-value
267.24 20 < 0.0001

固定效应和随机效应模型均显示补充钾可显著降低舒张压。由于研究间异质性非常大,随机效应估计的置信区间比固定效应估计的置信区间要宽得多。因此,随机效应模型的p值要大得多。

③ 调整后疗效的meta分析

通用反方差法的另一个应用是调整治疗效果的荟萃分析,例如,分析logistic回归模型调整后的对数优势比logOR或Cox回归模型调整下的对数风险比logHR。例2.15 Greenland和Longnecker[12]描述了一种结合来自汇总剂量-反应数据的趋势估计的方法。一项对16项病例对照研究的荟萃分析评估了饮酒对乳腺癌风险的影响,书中此为例进行了说明。这些研究的数据下面的代码所示。meta分析采用调整后的对数风险比(b列)及其标准误差(SE)。为了像作者[12]那样将结果报告为对数风险比,我们使用参数backtransfer =FALSE。结果和原文献中的一致,作者说的,错了别找我。

> # 1. Read in the data
> data6 <- read.csv("dataset06.csv")
> # 2. Print data
> data6 ##有四列哦
author year b SE
1 Hiatt and Bawol 1984 0.004340 0.00247
2 Hiatt et al. 1988 0.010900 0.00410
3 Willett t al. 1987 0.028400 0.00564
4 Schatzkin et al. 1987 0.118000 0.04760
5 Harvey et al. 1987 0.012100 0.00429
6 Rosenberg et al. 1982 0.087000 0.02320
7 Webster et al. 1983 0.003110 0.00373
8 Paganini-Hill and Ross 1983 0.000000 0.00940
9 Byers and Funch 1982 0.005970 0.00658
10 Rohan and McMichael 1988 0.047900 0.02050
11 Talamini et al. 1984 0.038900 0.00768
12 O’Connell et al. 1987 0.203000 0.09460
13 Harris and Wynder 1988 -0.006730 0.00419
14 Le et al. 1984 0.011100 0.00481
15 La Vecchia et al. 1985 0.014800 0.00635
16 Begg et al. 1983 -0.000787 0.00867> mg3 <- metagen(b, SE, studlab=paste(author, year),
+ data=data6, sm="RR", backtransf=FALSE)
###当我们使用参数backtransf=FALSE时,将以对数尺度报告处理估计(请参阅打印输出中的logRR)
> summary(mg3)
Number of studies combined: k=16
logRR 95%-CI z p-value
Fixed effect model 0.0082 [0.0056; 0.0108] 6.2409 < 0.0001
Random effects model 0.0131 [0.0062; 0.0199] 3.7298 0.0002
Quantifying heterogeneity:
tauˆ2 = 0.0001; H = 2.24 [1.78; 2.82]; Iˆ2 = 80.1% [68.5%; 87.4%]
Test of heterogeneity:
Q d.f. p-value
75.31 15 < 0.0001

3.1.7 总结

在此部分中,使用连续结果详细描述了通用逆方差方法及其在meta分析中的应用,还介绍了固定效应法和随机效应法。我们已经展示了如何分别将典型数据与metacont和metagen函数一起使用,以及如何print和绘制森林图。我们还讨论了估计研究间方差的各种方法,并将Hartung-Knapp平差描述为经典随机效应方法的替代方法。此外,我们还说明了byvar选项的使用,这使得亚组分析更加简单。关于亚组分析的更多细节见后续章节。最后,通用示范倒方差法已在不同情况下的使用(生存结果、交叉试验、调整后的治疗效果),作者说明了该方法的广泛适用性。

本来(一)是打算把3.2,3.3讲完的,但是篇幅太长的话肯定就没人看了,而且下面的内容也非常多,就留给后续章节去说明。

3.2 二元结果的meta分析

3.3 异质性与meta回归


4.进阶操作(将在后续部分讲,敬请期待)

4.1 小小的,也很可爱

4.2 我的数据少东西了

4.3 多元meta

4.4 网络meta分析

4.5 让我看看你的诊断准不准?

5.总结和尾声

在综合R档案网络(CRAN)上可以找到许多关于R安装的有价值的信息和文件,对R有更进一步了解的兴趣的小伙伴你们还在等什么呢?好急,等不及要用各位大佬自己设计的R包了,哼!~

基于R语言 meta/metafor 包进行荟萃分析(一)相关推荐

  1. R语言使用Rtsne包进行TSNE分析:通过数据类型筛选数值数据、scale函数进行数据标准化缩放、提取TSNE分析结果合并到原dataframe中(tSNE with Rtsne package)

    R语言使用Rtsne包进行TSNE分析:通过数据类型筛选数值数据.scale函数进行数据标准化缩放.提取TSNE分析结果合并到原dataframe中(tSNE with Rtsne package) ...

  2. R语言使用Rtsne包进行TSNE分析:提取TSNE分析结果合并到原dataframe中、可视化tsne降维的结果、并圈定降维后不匹配的数据簇(tSNE identifying mismatch)

    R语言使用Rtsne包进行TSNE分析:提取TSNE分析结果合并到原dataframe中.可视化tsne降维的结果.并使用两个分类变量从颜色.形状两个角度来可视化tsne降维的效果.并圈定降维后不匹配 ...

  3. 基于R语言的seasonal包使用手册_目录_链接(update20220625_10.)

    简介 **日期**:2022-04-18 **题目**:基于R语言的Census的X-13-ARIMA-SEATS接口 **版本**:1.9.0 **描述**:美国人口普查局的季节性调整软件X-13- ...

  4. 基于R语言的seasonal包使用手册_06.final(seas(data, na.action = xxxx))

    6.final(seas(data, na.action = xxxx)) final()函数对Na值的处理 描述 final()函数对Na值的处理. ①na.action = na.omit #删除 ...

  5. 基于R语言的seasonal包使用手册_04.as.data.frame.seas

    4.as.data.frame.seas 设置数据输出格式为 data.frame 描述 将结果data强制转换为data.frame格式,有利于data的后续处理. 代码 library(seaso ...

  6. 基于R语言的seasonal包使用手册_07.fivebestmdl()

    7.fivebestmdl() 返回通过BIC标准选出的五个最佳模型 描述 返回BIC标准选择的五个最佳模型.需要激活automdl规范(默认),如果未激活,该函数会尝试重新评估激活automdl规范 ...

  7. 基于R语言的seasonal包使用手册_05.final\original\trend\irregular\residuals

    5.final\original\trend\irregular\residuals SARIMA_季节调整_时间序列_模型结果调用 描述 从"seas(m)"对象中提取主要时间序 ...

  8. 基于R语言的seasonal包使用手册_10.na.x13(x)

    10.na.x13(x) 按X-13方式处理缺失值 描述 用-99999替换NA值的实用函数,作为 seas(x)中na.action参数的值. 用法 na.x13(x) 参数 代码① library ...

  9. 基于R语言股票市场收益的统计可视化分析

    最近我们被客户要求撰写关于股票市场收益的研究报告,包括一些图形和统计输出. 金融市场上最重要的任务之一就是分析各种投资的历史收益.要执行此分析,我们需要资产的历史数据.数据提供者很多,有些是免费的,大 ...

最新文章

  1. 科技边框_爱旭科技首创双面PERC电池PID FREE解决方案
  2. 厚积薄发,看腾讯云如何快速从IPv4向IPv6演进?
  3. 使用 AngularJS 和 ReactJS 的经验
  4. mPaaS 月度小报|为采购而生,全新资源包上架;前端 2D 游戏化互动入门指南
  5. 位图索引(bitmap index)冲突引起的TX锁争用
  6. python文本文件csv_我的第一个Python项目:如何将杂乱无章的文本文件转换为纯净的CSV文件
  7. anacodna/python 安装 tensorflow
  8. Windows Server 2016如何配置定期执行任务计划
  9. 情感分析技术在美团的探索与应用
  10. Android Bitmap 载入与像素操作
  11. 印象笔记Markdown样式美化
  12. 音视频技术开发周刊 | 241
  13. 使用setkey手工配置IPSec
  14. 组合投资的风险与收益概述
  15. 迁移服务器和切换域名
  16. Scenario 3 – HP C7000 Virtual Connect FlexFabric SUS with Active/Active
  17. kafka listeners 和 advertised.listeners 的区别及应用
  18. python字母对应数字上海迪士尼残疾人门票_所有景点提供无障碍设施 残障人士也能玩转上海迪士尼...
  19. 免费博客空间服务评测、注册和申请
  20. 部分准备金银行已经过时

热门文章

  1. linux下无法进入文件夹 No such file or directory
  2. 2.1.4奈氏准则、香农定理
  3. 【智能安防系统与区块链的结合】利用区块链提高安防系统的安全性和透明度
  4. matlab deconv出现无穷大,deconv(matlab的deconv函数)
  5. SpringBoot JPA 建立联合主键
  6. 机器学习之LR算法理论和实战(实战篇)
  7. 华三M-lag典型配置
  8. 《中国医药导报》杂志09年最新征稿启事
  9. JavaScript-原型链理解总结
  10. 恶魔奶爸的英语学习笔记