首页 > 其他分享 >MR+meta分析的摘录

MR+meta分析的摘录

时间:2023-10-07 10:38:24浏览次数:32  
标签:疾病 meta 吸烟 MR 作者 out method 摘录

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








标签:疾病,meta,吸烟,MR,作者,out,method,摘录
From: https://www.cnblogs.com/xianxian1/p/17745627.html

相关文章

  • Metadata.allowExtensions 注解的一个实际使用例子
    @UI注解随着SAP标准的FioriElements应用一起发布。如果SAP发布的标准CDSview包含了@Metadata.allowExtensions:true的注解,意味着Partner或者其他IndustrySolution可以通过Extensionview的方式来override标准CDSview里的annotation,前提是这些Extensio......
  • C++模板元编程(C++ template metaprogramming)
    实验平台:Win7,VS2013Community,GCC4.8.3(在线版) 所谓元编程就是编写直接生成或操纵程序的程序,C++模板给C++语言提供了元编程的能力,模板使C++编程变得异常灵活,能实现很多高级动态语言才有的特性(语法上可能比较丑陋,一些历史原因见下文)。普通用户对C++模板的使用可能不是很......
  • Java基础:meta-info.md文件的作用
    作用概述meta-info.md文件通常是一个用于提供关于软件包或项目的元信息的文本文件。它可以包含各种类型的信息,具体取决于项目的需求和约定。一些常见的元信息包括:项目说明:描述项目的目的、功能、特点等。这可以是一个简短的描述或详细的文档。版本信息:指定软件包或项目的版本号、......
  • LINUX:FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.
     如图,问题表现为linux中可直接通过hive进行数据插入但在通过datagrip却更改不了此时,可能时yarn的运行分配的内存较少,或堆内存溢出。在yarn-site.xml中更改,以及mapred-site.xml中更改,完成。yarn的<property><name>yarn.scheduler.minimum-allocation-mb</name>......
  • maven 编译.../maven-metadata.xml 报错
    问题突然编译报错:解决打开maven的里离线工作模式,感觉就是下载包到本地.一个是在maven设置里面或者直接在maven编译的窗口:......
  • 从MRO到智能前置仓,如何帮助企业突围?
    随着物流行业的不断发展和创新,前置仓成为了企业物流体系中的重要组成部分。在传统的物流体系中,企业常常面临库存过高、资金周转慢、物流效率低下等问题,给企业带来了很大的压力。然而,随着前置仓的出现,企业物流体系将迎来一场重塑。本文将从MRO(维修、保养和操作)管理的角度出发,探讨智......
  • B. Amr and Pins( Codeforces Round #287 (Div. 2))
    #include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>intmain(){doubler,x1,y1,x2,y2;while(scanf("%lf%lf%lf%lf%lf",&r,&x1,&y1,&x2,&y2)!=EOF){doubleaa=sq......
  • 关于MRS编译生成数据代表含义
    当MRS编译完成后,编译界面显示信息如下,其中数据代表含义如下: text段是程序代码段,由编译器在编译链接时自动计算,表示程序代码段大小。data段包含已初始化的全局变量和静态变量。bss段是英文BlockStartedbySymbol的简称,通常是指用来存放程序中未初始化的全局变量的一块内存......
  • Metasploit Framework
    简介目前最流行、最强大、最具扩展性的渗透测试平台软件基于Metasploit进行渗透测试和漏洞分析的流程和方法2003年由HDMore发布第一版,2007年用ruby语言重写框架集成了渗透测试标准(PETS)思想一定程度上统一了渗透测试和漏洞研究的工作环境新的攻击代码可以比较容易的......
  • Metasploit
    MetasploitUbuntu下允许root用户ssh远程登录└─#sudoservicepostgresqlstart&&msfdbinit&&msfconsole工作区msf6>workspace-hUsage:workspaceListworkspacesworkspace[name]SwitchworkspaceOPTIONS:-a,--add<......