第四篇公众号:来自微信 天桥下的卖艺者 零基础说科研,仅为个人学习用,如有侵权,可以删除
吸烟没什么创意,唯一的创意就是加入了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. Mysql之主从异步

    数据库创建完后主从数据库数据保持同步 主数据库 mysql> SHOW MASTER STATUS; +------------------+----------+--------------+ ...

  2. Linux0.12内核源码解读(2)-Bootsect.S

    大家好,我是呼噜噜,在上一篇文章聊聊x86计算机启动发生的事?我们了解了x86计算机启动过程,MBR.0x7c00是什么?其中当bios引导结束后,操作系统接过计算机的控制权后,发生了哪些事?本文将揭 ...

  3. Tomcat启动闪退的10个解决小技巧

    引言 大家好!在我们日常开发中,使用Tomcat作为Web服务器是相当常见的. 然而,遇到Tomcat启动后立即闪退的问题也不是什么稀罕事. 这种情况可能会让人感到困惑和沮丧,特别是当你急需完成一个项 ...

  4. 批处理for 的理解及例子

    前言 首先for的代码形式是: for %i in (set) do command 这里面有一些小知识知识点: 比如说i是变量,那么i可以换成其他字符吗?答案是可以的.但是必须是26个字母中的其中一 ...

  5. Typora图床配置(Typora+PicGo+Github)

    Typora图床配置(Typora+PicGo+Github) 一.Github配置 登录github:https://github.com/ 新建仓库 生成私人令牌 Settings->Dev ...

  6. C#判断窗体是否被遮挡 - 开源研究系列文章

    上次发布了托盘窗体的显示与隐藏的博文:,但是在测试窗体最大化的时候发现窗体没有隐藏,调试了下知道是窗体是否被遮挡这个函数的判断有问题.于是就研究了该代码,然后联系了该操作类的作者,也是博客园的园友,然 ...

  7. 力扣438(Java)-找到字符串中所有字母异位词(中等)

    题目: 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引.不考虑答案输出的顺序. 异位词 指由相同字母重排列形成的字符串(包括相同的字符串). 示例 1: ...

  8. 搭建Hadoop环境

    搭建Hadoop环境 一.虚拟机的安装 二. 安装JDK 1.下载jdk wget https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41- ...

  9. CF1857B Maximum Rounding 题解

    题目描述 给定一个自然数 \(n\),可以对任意一位进行四舍五入,可以进行任意次,求能得到的最大数.(这里的 \(n\) 没有前导零) 思路 首先我们发现,如果我们将其中一位进位了,那后面的所有位都会 ...

  10. 阿里云张新涛:连接产业上下游,构建XR协作生态

    简介: 用交互技术辅以澎湃的算力带给大家最真实的"沉浸式体验" 2022年9月2日,在世界人工智能大会"区块新生 数字宇宙--元宇宙技术与生态合作"分论坛上,阿 ...