第四篇公众号:来自微信 天桥下的卖艺者 零基础说科研,仅为个人学习用,如有侵权,可以删除
吸烟没什么创意,唯一的创意就是加入了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. HarmonyOS 3.1版本发布,全面进入声明式开发

    原文:https://mp.weixin.qq.com/s/kyyYCjrl6E8MBxKpBSKNWg,点击链接查看更多技术内容.   开发者的脚步永不停歇,2022年我们发布了HarmonyOS ...

  2. Flutter笔记 - 布局类组件

    布局类组件 Row水平方向排列 textDirection 水平方向子组件布局顺序. mainAxisSize 占用空间,默认MainAxisSize.MAX mainAxisAligment 对齐方 ...

  3. Trino418版本动态加载catalog不需要重启集群修改思路及实现2

    原来没事的时候改了一个这样的功能,当时也没有仔细研究,后来也没继续弄.详细可以参考 https://www.cnblogs.com/liuzx8888/p/17635913.html 当时有1个问题: ...

  4. 力扣1097(MySQL)-游戏玩法分析Ⅴ(困难)

    题目: 我们将玩家的安装日期定义为该玩家的第一个登录日. 我们还将某个日期 X 的第 1 天留存时间定义为安装日期为 X 的玩家的数量,他们在 X 之后的一天重新登录,除以安装日期为 X 的玩家的数量 ...

  5. 力扣24(java&python)-两两交换链表中的节点(中等)

    题目: 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换) 示例 1: 输入:head = [1,2,3,4] 输出:[ ...

  6. 【ESSD技术解读-04】ESSD Auto PL规格,引领IO性能弹性新方向

    ​简介: 阿里云 ESSD 为云服务器 ECS 提供低时延.持久性和高可靠的块存储服务,成为云厂商全闪块存储的业界标杆.存储团队推出了 ESSD Auto PL 新的云盘规格,把性能与容量解耦,提供 ...

  7. rerank来提升RAG的准确度的策略

    RAG(Retrieval-Augmented Generation)是一种结合检索和生成两种技术的模型,旨在通过检索大规模知识库来增强文本生成任务的准确性. 要通过reranking(重排序)来提升 ...

  8. VisualStudio 如何快速添加一个 Git Tag 推送

    在 VisualStudio 的团队管理功能,提供了方便的添加 Tag 的方法,可以新建一个 Tag 添加 Tag 信息,同时推送某个特定的 Tag 到服务器.配合推 Tag 打包 NuGet 的方法 ...

  9. 4.k8s-配置网络策略 NetworkPolicy

    一.基本了解 官方文档:https://kubernetes.io/zh-cn/docs/concepts/services-networking/network-policies/基本了解: 1.网 ...

  10. netcore5下js请求跨域

    后端代码如下: using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System ...