来源:微信公众号小侃数据

大家好,本教程将介绍如何使用R的gemtc包对连续变量进行贝叶斯网状Meta分析。

前提条件:

准备工作完成后,打开RStudio后,在console里输入install.packages(“gemtc”)

第一次安装的时候,安装速度可能比较慢,耐心等待一下。

等安装完成后,设置我们的工作目录,后面可以把待分析的数据放入这个工作目录,敲入:

setwd("D:\\R网状教程")  #你可以更改为自己的工作目录,在后面环境变量增多的时候,在这一步前可以加一个rm(list=ls())清除环境变量。

然后敲入:

library(gemtc)     #装载gemtc包

将我们的数据准备成如下格式(与stata做网状的格式相同):

其中每一行代表研究的一个臂,study代表研究,treatment代表干预名称,mean代表连续变量的均值,std.dev代表连续变量的标准差,sampleSize代表每一个研究中每一个臂的样本量。注意,以上英文单词必须准确无误,大小写都要一致,不然等会分析无法进行。

大家可以在excel里准备要分析的数据,然后另存为csv文件(以逗号为分隔符的表格文件),在这里,我把数据文件存为data.csv(你可以更改为自己想要的名字)。然后把这个文件放到我们的工作目录之下。

把刚刚准备好的数据导入到R里,敲入:

data

把数据弄成gemtc的网络格式,敲入:

network

输入:plot(network)

可以看到网状图如下:

当然了,这些大小、颜色、字体等等的参数都是可以调整的,但是跟stata做网状图相比还是太麻烦了。Stata几乎不用调整一步到位,大家可以参考我之前制作的stata教程做网状图。

然后开始建立模型:

model

其中,圆括号里的第一个参数为我们刚刚新建的gemtc网络类型的变量network,第二个参数type="consistency",是指我们的模型为一致性模型,n.chain指的是马尔科夫蒙特卡洛MCMC的链条数目,一般为2-4均可。因为我们进行的是连续变量的网状分析,所以likelihood="normal", link="identity"。linearModel=”random”指的是我们使用的模型为随机效应,当然也可以指定fixed作为固定效应模型。这一步可能会跳出一些红色的warning,强迫症的同学看到可能会感到不安,但不用紧张,不影响后续的分析,不管它即可。

现在可以进行迭代了,敲入:

results

其中,model是我们上一步建立的模型名称,n.adapt为退火次数,n.iter为迭代次数。这个时候我们耐心等待,RStudio界面如下所示:

敲入:summary(results)可以看到如下结果:

其中结果包括DIC,DIC可以进一步与不一致性模型的DIC作比较,如果相差在5以内,就说明数据基本符合一致性的前提。DIC的绝对值没有任何意义,只用于相对比较。以及I2的总体异质性参数。

敲入:

forest(relative.effect(results, "Placebo"))

可以看到每个干预相对于Placebo的森林图:

大家可以与之前我们用stata频率学和用OpenBugs贝叶斯做的网状结果对比一下,结果是不是差不多。

敲入:plot(results)  #可以看到每个指标的收敛情况以及密度图

敲入:gelman.plot(results)   # 收敛性诊断

进行排序,敲入:

ranks

print(ranks)

堆积排序图:plot(ranks)

单个排序等级图:plot(ranks, beside = TRUE)

制作联赛表:

a

write.csv(a, "leaguetable.csv")

以上步骤可以在工作目录中导出这个表格。

不一致模型

很多同学不知道如何做不一致模型,想当然的以为将type="inconsistency"就OK了,其实并非如此。而应是在模型那一步中将type=”ume”或者”use”。如下:

modelume

resultsume

summary(resultsume)    #查看不一致模型的DIC,然后与一致性模型进行比较。

用节点劈裂法探索局部不一致:

resultnodesplit

这里当然也可以写成复杂版的形式:resultnodesplit

里面的参数都可以进行设定。这里之所以可以写成简写版,是因为gemtc可以自动识别我们要分析的是连续变量,然后可以对里面的参数进行默认的设定。多说一句,如果我们要分析的是分类变量,我们也无需像在WINBUGS软件里对初始值进行繁琐的设定,这一点是我非常喜欢R软件gemtc包的地方。

b

print(b)

plot(b)

异质性分析:

resultanohe

这里当然也可以写成复杂版的形式:resultanohe

c

print(c)

plot(c)

至此,主分析的步骤基本已经完成。注意本教程的效应量为MD,目前R的gemtc包并不支持SMD。同样的步骤可以用来分析二分类数据,只是准备的数据以及likelihood和link的值设置的不同而已。此外,gemtc还支持对协变量进行回归分析,限于篇幅原因,本教程不再讲述这些内容,后面再讲。

最后,讲一下如何把在RStudio中产生的图片导出来。

第一种方法,针对看到代码就头痛的同学,可以点击export->save as image,如下图:

第二种方法:

敲入代码:

tiff(file= "networkplot.tiff ")

plot(network)

dev.off()

这样在工作目录就会有一个networkplot.tiff的文件了。

r语言和metawin_手把手教你用R的gemtc包对连续变量进行贝叶斯网状Meta分析相关推荐

  1. 贝叶斯软件genle教程_手把手教你用R的gemtc包对生存数据进行贝叶斯网状Meta分析...

    大家好,本教程将介绍如何使用R的gemtc包对生存数据(HR为效应量)进行贝叶斯网状Meta分析. 前提条件: 需要下载R软件(推荐使用的R版本为3.5.3),以及RStudio(一个R的友好交互界面 ...

  2. 数据挖掘r语言和python知乎_Hellobi Live |R语言爬虫实战案例分享:网易云课堂、知乎live、今日头条、B站视频...

    课程名称 R语言爬虫实战案例分享:网易云课堂.知乎live.今日头条.B站视频 网络数据抓取是数据科学中获取数据中的重要途径,但是一直以来受制于高门槛,都是专业程序员的专属技能.直到R语言和Pytho ...

  3. r语言和metawin_如何创建R的HelloWorld包(Windows或Linux环境下)

    1.Windows环境下 1.2安装完后,配置系统的path 1.2.1假定R的安装路径在:D:\Program Files\R\R-2.5.0\bin:Rtools的安装路径在:c:\Rtools\ ...

  4. r语言 python 互联网数据分析_对比R语言和Python,教你实现回归分析

    变量之间关系可以分为两类: 函数关系:反映了事务之间某种确定性关系 相关关系:两个变量之间存在某种依存关系,但二者并不是一一对应的:反映了事务间不完全确定关系:相关系数(r)可以衡量这种相关关系. r ...

  5. r语言和metawin_学会这些R语言技巧至少可以节省半年时间

    ubuntu备忘 定期清空回收站 扩增子数据牢记 r ubuntu 相关技巧和备忘 待解决问题1:phyloseq有一篇文章案例使用输入和输出文件相同的文件名,无法执行 待解决问题2: 待解决问题3: ...

  6. r语言和metawin_在R语言中,用bootstrap来计算均值方差,怎样写语言

    展开全部 Meta分析是一种对同一主题下的多个独立实验(研究)进行综合的统计分析方法.它萌芽62616964757a686964616fe58685e5aeb931333264636161于本世纪初[ ...

  7. r语言和metawin_Windows下使用Rtools编译R语言包

    使用devtools安装github中的R源代码时,经常会出各种错误,索性搜了一下怎么在Windows下直接打包,网上的资料也是参差不齐,以下是自己验证通过的. 一.下载Rtools 根据自己安装的R ...

  8. r语言和python的区别-Python和R语言之分析对比

    在Python中调用R或在R中调用Python,为什么是"和"而不是"或"? 在互联网中,关于"R和Python"的文章,排名前十的搜索结果 ...

  9. r语言和python-R语言和Python一块学习会弄混吗

    原标题:R语言和Python一块学习会弄混吗 感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定 ...

最新文章

  1. 大话中文文本分类之TextRNN_ATT
  2. IT规划宜分步走 忌盲目好大喜功(载)
  3. Servlet获取Web应用程序的初始化参数
  4. 美术的故事 —— 那些用技术创造艺术的游戏开发者
  5. BZOJ2809-左偏树合并
  6. Spring Data JPA 从入门到精通~@Modifying修改查询
  7. 衡量人体健康的“十大新标杆”
  8. Markdown 语法速查表
  9. 黑马程序员 Python学习笔记之 程序执行原理(科普)
  10. 编写if语句时then子句为空语句_Python入门 5——循环语句及条件判断
  11. 奇迹服务端架设教程技术分享探究——学习
  12. 破解Charles抓包工具
  13. 南大计算机课程,南京大学 计算机系统基础 课程实验 2018(PA0-1)
  14. 五线谱软件测试初学者,学习五线谱(初学者专用).pdf
  15. .强力卸载或者删除文件
  16. 永久删除的文件还能找回来吗 永久删除的文件如何恢复
  17. 亚信卸载-无需密码卸载
  18. 罗杨美慧 20190905-1 每周例行报告
  19. hadoop之slaves文件详细分析
  20. 新CCIE笔记-IP网络基础

热门文章

  1. MFC调用winhttp实现简易的HTTP服务器程序
  2. *POJ3666.Making the Grade(DP+离散化)
  3. 疫情在家办公,正好趁老板不在搞搞副业,爽歪歪
  4. 利用C++中的opencv进行图像拼接
  5. 为什么次对角线元素均不为零的三对角矩阵为不可约矩阵
  6. 《python数据挖掘》和《python数据挖掘入门与实践》两本书读后感
  7. nodejs调用建行互联网银企被扫支付接口Java版加解密Demo
  8. 操作系统教程第六版——第四章课后作业
  9. Android Camera基本用法一
  10. 给整个Scratch作品加密