第四篇公众号:来自微信 天桥下的卖艺者 零基础说科研,仅为个人学习用,如有侵权,可以删除
吸烟没什么创意,唯一的创意就是加入了MR和meta分析,作者显示介绍吸烟与多种疾病之间的因果关系扔不明确,
第一步:搜索各大数据库的 MR随机化与吸烟的文章,把文章中吸烟和疾病的关系的数据提取出来,纳入标准, 原始全文文章,介绍了吸烟或者终生吸烟的遗传易感性与一种或多种循环、消化、神经和肌肉骨骼系统疾病, 内分泌、代谢和眼部疾病或肿瘤风险的关联结果,一共纳入了385篇文献
排除标准:基于相同或重叠研究样本的重复出版物,以及仅使用单一或少数尼古丁依赖或吸烟行为或数量的工具变量的研究,剔除了相同或重叠研究样本的重复出版物,以及使用单一或少数尼古丁依赖或吸烟行为或数量的工具变量,的研究,作者这里提取了年份、样本量、关系的比值比
经过排除后适合分析的29篇
第二步: 有一部分数据就是芬兰基因研究(FinnGen)作者通过检索没有检索到资料,他就自己来做,他使用了 R6版本中的数据进行孟德尔随机化分析,其中包括 260 405 名芬兰人,但剔除了性别不明确、非芬兰血统、基因型缺失率超过 5%、或杂合度过高(±4 个标准差)的数据。此外,作者还利用 GWAS meta 分析中公开的汇总统计数据,对骨关节炎、痛风和原发性开角型青光眼进行了从头开始的 MR 分析。第二部分提取到的数据应该是27篇,因为最后供56篇文章。
通过流程图咱们可以知道最后作者得到14篇循环疾病的文章,消化疾病8篇,神经系统疾病5篇,肌肉骨骼系统4篇,2篇内分泌,3篇眼科疾病,21篇关于肿瘤的文章。整个过程处理起来还是挺花时间的,毕竟要一篇篇的读,提取数据。
 
接下来咱们看看作者提供的数据,附表1是作者自己做的孟德尔随机化的结果,它的结果有两个,一个是刚开始吸烟,还有一个是终生吸烟。作者也是根据这两个结果进行meta分析的
接下来就是作者的两个主表了,表2是开始吸烟的人的疾病分析,表3是终生吸烟的人的疾病分析,作者就是根据这两个表来做meta分析的,下面我把数据提取出来跑一下
下面我把数据提取出来跑一下,数据量挺大的我就提取刚开始吸烟的患者循环疾病这部分举个例子,其他疾病的都是一样的。这里我们要注意一下,循环系统是有很多疾病的,就拿心房颤动这个疾病来说,作者的数据很多很大,他是把GWAS meta-analysis、FinnGen这2个数据库的结果进行相加,再来做meta分析,如果你的数据没有这么大,你把每个数据库先分别做,然后再汇总也是可以的。
bc<-read.csv("E:/r/test/smokemeta.csv",sep=',',header=TRUE)names(bc)
library(forestplot)
bc$`OR(95% CI)` <- sprintf("%.2f (%.2f to %.2f)", bc$OR, bc$LB, bc$UB) #生成可信区间
dt1<-as.matrix(bc[,c(1,2,6)]) #生成绘图区间,选择需要的变量 这里是126
dt1<- rbind(c("outcome","Cases","OR (95%CI)"),dt1) #注意 dt这个数据是矩阵没有列名,还有生成一个列名
接下来就可以绘图
forestplot(labeltext=dt1,graph.pos="right", mean=c(NA,bc$OR), lower=c(NA,bc$LB), upper=c(NA,bc$UB), graphwidth =unit(60,"mm"),#设置图片位置和宽度 boxsize =0.2,line.margin =unit(5,"mm"),#对散点和线条进行设置 lineheight =unit(5,"mm"),#设置图形行距 col=fpColors(box ="grey0",lines = "grey0",summary = "grey0"), colgap = unit(1,"mm"),#图形列间距 zero = 1,#参照值 xticks = c(0,1,2))#X轴的定义标签
meta分析的异质性和P值   用stata最简单
metan or 1b ub 直接就可以出来!
 

R语言进行进行meta分析咱们就做最基本的部分就行,不必搞得太复杂。咱们先导入数据和R包。很多R包都能做,咱们随便选个meta包就可以了。

library(meta)

bc<-read.csv("E:/r/test/senlintu1.csv",sep=',',header=TRUE)

names(bc)

out<-metabin(event.e=a,

n.e=b,event.c=c,n.c=d,data=bc,sm="OR",studlab=paste(study),method="Inverse")

study代表研究名称;a实验阳性人数,b实验总人数,c对照组阳性人数,d对照组总人数
咱们先来看下函数格式event.e就是实验组阳性人数,n.e,实验组总人数,event.c对照组阳性人数,n.c对照组总人数,data就是你的数据,studlab填入其他的项目,method这里选"Inverse"倒方差的方法就可以了,sm这里填入结果类型,如果你需要的是OR的结果就填入OR

metabin(event.e,n.e, event.c, n.c, data,studlab = paste(), sm, method = "Inverse")

out<-metabin(a,b,c,d,data=bc,sm="OR",studlab= paste(study),method = "Inverse")
summary(out)

结果区,罗列了随机效应和固定效应、 I值、 异质性检查
如果heterogeneity 这里P<0.05 存在异质性,选择随机效应模型
异质性用I2表示的,是89。9%比较大的话,可以使用剔除法剔除
先加ID
bc$id<-1:13
删除第一项,使用亚组函数subset控制,subset=id>2
out<-metabin(a,b,c,d,data=bc,sm="OR",studlab= paste(study), method ="Inverse",common=F,subset=id>2)

summary(out)
 
out<-metabin(a,b,c,d,data=bc,sm="OR",studlab= paste(study), method ="Inverse",common=F)
forest(out)
metabias(out,method.bias="Egger") #p值>0.05说明没有偏倚

metabias(out,method.bias="peters")


MR+meta分析的摘录的更多相关文章

  1. 一行命令学会全基因组关联分析(GWAS)的meta分析

    为什么需要做meta分析 群体分层是GWAS研究中一个比较常见的假阳性来源. 也就是说,如果数据存在群体分层,却不加以控制,那么很容易得到一堆假阳性位点. 当群体出现分层时,常规手段就是将分层的群体独 ...

  2. MFC webbrowser读取文档的meta分析

    IDispatch* pDisp = NULL; IDispatch* pDisp2 = NULL; IHTMLDocument2 *pHtmlDoc2 = NULL; IHTMLElementCol ...

  3. Robotium原则的实施源代码分析

    从前面的章节<Robotium源代码分析之Instrumentation进阶>中我们了解到了Robotium所基于的Instrumentation的一些进阶基础.比方它注入事件的原理等,但 ...

  4. Robotium源码分析之运行原理

    从上一章<Robotium源码分析之Instrumentation进阶>中我们了解到了Robotium所基于的Instrumentation的一些进阶基础,比如它注入事件的原理等,但Rob ...

  5. 移动端网页meta设置和响应式

    苏宁易购WAP的meta分析 响应式 meta设置 媒体查询时读的width为viewport的宽度.viewport宽度为手机分辨率.比如note2 1280*720.需要重置为设备 640*360 ...

  6. GWAS | 全基因组关联分析 | Linkage disequilibrium (LD)连锁不平衡 | 曼哈顿图 Manhattan_plot | QQ_plot | haplotype phasing

    现在GWAS已经属于比较古老的技术了,主要是碰到严重的瓶颈了,单纯的snp与表现的关联已经不够,需要具体的生物学解释,这些snp是如何具体导致疾病的发生的. 而且,大多数病找到的都不是个别显著的snp ...

  7. Forest plot(森林图) | Cox生存分析可视化

    本文首发于“生信补给站”微信公众号,https://mp.weixin.qq.com/s/2W1W-8JKTM4S4nml3VF51w 更多关于R语言,ggplot2绘图,生信分析的内容,敬请关注小号 ...

  8. Kafka (一)

    使用Kafka最新版本0.9 Kafka 配置 1. 安装 首先需要安装Java,推荐安装Java8,不然会出现一些莫名其妙的错误 kafka_2.11-0.9.0.0.tgz tar -xzf ka ...

  9. 文献笔记:Genome-wide associations for birth weight and correlations with adult disease

    该文献纳入了EGG(Early Growth Genetics Consortium)和UK biobank两大数据库,分为欧洲祖先和非欧洲祖先群体.这两个数据用到的样本量分别如下: Early Gr ...

  10. Meta-Analysis

    meta-analysis是用统计的概念与方法,去收集.整理与分析之前学者专家针对某个主题所做的众多实证研究,希望能够找出该问题或所关切的变量之间的明确关系模式,可弥补传统的Review Articl ...

随机推荐

  1. 使用Git向Gitee仓库推送项目的完整流程

    1.安装git 如果没有特殊需求,直接下一步即可:安装链接如下:Git - Downloads (git-scm.com) 2.在Gitee上新建仓库,初始化仓库 3.保存仓库的链接,如下图标记所示 ...

  2. 力扣77(Java)-组合(中等)

    题目: 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合. 你可以按 任何顺序 返回答案. 示例 1: 输入:n = 4, k = 2输出:[ [2,4], [3,4], ...

  3. 关于CDN的原理、术语和应用场景那些事

    关于CDN,想必你一定看过很多官方的解释.今天,CDN百科第七期,将用一篇3844字的文章,来带你了解CDN的诞生.术语.原理.特征以及应用场景,看完这篇文章,相信你将会对CDN这项互联网基础设施有更 ...

  4. Databricks 企业版 Spark&Delta Lake 引擎助力 Lakehouse 高效访问

    ​简介:本文介绍了Databricks企业版Delta Lake的性能优势,借助这些特性能够大幅提升Spark SQL的查询性能,加快Delta表的查询速度. 作者: 李锦桂(锦犀) 阿里云开源大数据 ...

  5. [FAQ] PHP+Nginx 架构网站 502 和 504 问题

    502 Bad Gateway:作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应.504 Gateway Time-out:作为网关或者代理工作的服务器尝试执行请求时,未能及时 ...

  6. [FAQ] pdf 无法导入 adobe AI, 分辨率 or 颜色缺失 or 字体缺失

    属于Adoge软件不支持问题, 可能是分辨率.字体等多种原因. https://www.codebye.com/adobe-reader-or-acrobat-opens-pdf-file-drawi ...

  7. [Tools] Kali Linux 高清屏扩大系统字体、BurpSuite、OpenVAS

    系统检索 Setting Manager,Appearance -> Settings,选择 Window Scaling:2x Terminal fonts: linux terminal 快 ...

  8. 剪贴板被占用导致应用使用剪贴板拷贝内容失败抛出 COMException 0x800401D0 错误

    本文记录某些软件,例如 向日葵远程控制 软件占用剪贴板,导致 WPF 应用使用剪贴板拷贝内容和设置剪贴板时,抛出 System.Runtime.InteropServices.COMException ...

  9. Mysql带条件取多条随机记录

    有个文章段落表part,有两种类型的段落,即part_type取1或2,要从表中随机取多条任意类型的段落,比如3条. 方法一 ORDER BY后接RAND() select * from part w ...

  10. 一步步教你在 Windows 上构建 dotnet 系应用的 UOS 软件安装包

    本文将详细指导大家如何逐步为 dotnet 系列应用创建满足 UOS 统信系统软件安装包的要求.在这里,我们所说的 dotnet 系列应用是指那些能够在 Linux 平台上构建 UI 框架的应用,包括 ...