复现GMM文章(五):图5代码和数据

介绍

复现GMM文章的的Fig5图。

加载R包

library(tidyr)
library(tidyverse)
library(dplyr)
library(ggsci)
library(ggpubr)
library(psych)
library(ggcorrplot)
library(showtext)
library(ggrepel)

导入数据

所有的数据可以通过下列链接下载:

百度网盘链接: https://pan.baidu.com/s/1isKEK1G5I6X90KYqLufmWw

提取码: t9ca

图5A

  • 数据
load('01_data/plot_data/F5A.RData')head(auc_marker)cor <- corr.test(auc_marker[,1:2],method = 'spearman')

  • 画图
p1 <- ggscatter(data=auc_marker,x='dis',y='auc',shape='level',color='disease',palette = "igv",alpha=0.8,size=2)+geom_smooth(mapping=aes(x=dis,y=auc),data=auc_marker,formula =y~x, method=lm, inherit.aes = F,size=0.5)+geom_text_repel(data=auc_marker,aes(x=dis,y=auc,label = disease),inherit.aes = F,size=3)+xlab("MSI (median)") + ylab("External AUC (median)")+labs(color = "disease")+theme(legend.position = 'none')+annotate('text',x=0.7,y=0.84,label=paste0('r=',round(cor$r[1,2],2),'  ','p','=',format(cor$p[1,2],scientific=T,digits=3)),size=3)+border()p2 <- ggdensity(auc_marker, 'dis', fill="disease_type2",palette = "npg")+clean_theme()+theme(legend.position = 'none')
p3 <- ggdensity(auc_marker, 'auc', fill="disease_type2", palette = "npg")+clean_theme()+theme(legend.position = 'none')+ggpubr::rotate()p <- ggarrange(p2, NULL, p1, p3, ncol = 2, nrow = 2, align = "hv", widths = c(3, 1), heights = c(1, 3))p

图5B

  • 数据
load('01_data/plot_data/F5B.RData')head(self.e)stat.test <- compare_means(dis_value~group1,data = self.e, group.by = "level",method = "wilcox.test") %>% mutate(y.position = c(seq(from=4, to=7.5,length.out=10),rep(seq(from=4, to=6,length.out=6), times=2)))
x <- stat.test$p.adj
stat.test$p.adj.signif<-ifelse(x<0.05, ifelse(x<0.01, ifelse(x<0.001, ifelse(x<=0.0001, '****','***'),'**'),'*'),'ns')

在这里插入图片描述

  • 画图
p <- ggboxplot(self.e, x = "group1", y = "dis_value",fill = "group1", palette = "jco", facet.by = "level",width = 0.5,outlier.shape = NA)+stat_compare_means(aes(label = paste0('p = ',..p.format..)),label.y = 6.9,)+theme(axis.text.x = element_blank(),axis.ticks=element_blank(),legend.position="none")+xlab("Disease category") + ylab("MSI")+theme(text = element_text(size=13,face = 'plain',family ='',colour = 'black')) + stat_pvalue_manual(stat.test,label = "p.adj.signif")p

图5C

  • 数据
load('01_data/plot_data/F5C.RData')head(self.e)stat.test <- compare_means(dis_value~level,data = self.e, group.by = "subtype",method = "wilcox.test") %>% mutate(y.position = rep(seq(from=4.5, to=5.5,length.out=3), times=4))
x <- stat.test$p.adj
stat.test$p.adj.signif <- ifelse(x<0.05, ifelse(x<0.01, ifelse(x<0.001, ifelse(x<=0.0001, '****','***'),'**'),'*'),'ns')

在这里插入图片描述

  • 画图
p <- ggboxplot(self.e, x = "level", y = "dis_value",fill = "level", palette = c('#774ec7','#bd93cc','#a2c4b1'),facet.by = "subtype",nrow = 1,width = 0.5,outlier.shape = NA)+stat_compare_means(aes(label = paste0('p = ',..p.format..)),label.y = 6.9,)+theme(axis.text.x = element_blank(),axis.ticks=element_blank(),legend.position="top")+ xlab("Data type") + ylab("MSI")+theme(text = element_text(size=13,face = 'plain',family ='',colour = 'black'),legend.position = 'none') + stat_pvalue_manual(stat.test,label = "p.adj.signif")p

图5D

  • 数据
load('01_data/plot_data/F5D.RData')head(auc_marker_lodo)

  • 画图
p <- ggpaired(auc_marker_lodo, x = 'method', y = 'dis',color = 'method', palette = "npg", line.color = "gray", line.size = 0.4,short.panel.labs = FALSE,width = 0.4)+stat_compare_means(paired = T,label.y=4.6)+theme(legend.position = 'none')+labs(y='MSI (median)',x='')+theme(text = element_text(family = '',size = 13,face = 'plain'))p

图5E

左侧

  • 数据
load('01_data/plot_data/F5E_left.RData')head(p_r_test)for (i in unique(p_r_test$num)){dis_median <- median(subset(p_r_test,num==i)$dis)if (i==1){p_r_test_median <- data.frame(dis=dis_median,method='test',num=i)}else{p_r_test_median <- rbind(p_r_test_median,data.frame(dis=dis_median,method='test',num=i))} 
}
  • 画图
p1 <- ggboxplot( p_r_test,x='num',y='dis',color=pal_npg("nrc")(10)[1],add = "jitter",width = 0.3)+xlab('No. of training cohorts')+ylab('MSI (median)')+labs(title = 'ASD')+geom_line(data = p_r_test_median,aes(x=num,y=dis),color=pal_npg("nrc")(10)[2])+geom_point(data = p_r_test_median,aes(x=num,y=dis),color=pal_npg("nrc")(10)[2])+# geom_hline(yintercept =0.5,color=pal_d3('category10')(10)[4])+theme(text = element_text(size=13,face = 'plain',family ='',colour = 'black'))+  theme(panel.background = element_blank(),axis.line = element_line(colour = "black")) +ylim(0,2.5)p1

右侧

  • 数据
load('01_data/plot_data/F5E_right.RData')for (i in unique(p_r_test$num)){dis_median <- median(subset(p_r_test,num==i)$dis)if (i==1){p_r_test_median <- data.frame(dis=dis_median,method='test',num=i)}else{p_r_test_median <- rbind(p_r_test_median,data.frame(dis=dis_median,method='test',num=i))} 
}
  • 画图
p2 <- ggboxplot( p_r_test,x='num',y='dis',color=pal_npg("nrc")(10)[1],add = "jitter",width = 0.3)+xlab('No. of training cohorts')+ylab('MSI (median)')+labs(title = 'PD')+geom_line(data = p_r_test_median,aes(x=num,y=dis),color=pal_npg("nrc")(10)[2])+geom_point(data = p_r_test_median,aes(x=num,y=dis),color=pal_npg("nrc")(10)[2])+theme(text = element_text(size=13,face = 'plain',family ='',colour = 'black'))+  theme(panel.background = element_blank(),axis.line = element_line(colour = "black"))p2

合并

pl <- ggarrange(p1,p2)
pl

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/47468.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity | Shader基础知识(第十八集:Stencil应用-透视立方盒子)

目录 一、前言 二、场景布置 三、 shader部分 1.图片的部分 2.图片部分纯净代码 3.遮罩部分复习 4.深度写入 ZWrite 5.颜色遮罩ColorMask 6.遮罩纯净代码 四、场景中shader使用 五、作者的碎碎念 一、前言 因为这个内容稍微有点多&#xff0c;我尽力讲清楚了&#x…

mac拆分pdf mac如何拆分pdf成多个文件

在数字化办公日益普及的今天&#xff0c;pdf文件因其良好的兼容性和便捷性&#xff0c;已经成为工作和学习中的重要文件格式。然而&#xff0c;有时候我们可能会遇到需要将一个大的pdf文件拆分成多个小文件的情况&#xff0c;以便于管一理和分享。本文将为您详细介绍两种简单易…

MySQL 和 PostgreSQL,我到底选择哪个?

MySQL 和 PostgreSQL 是两个广泛使用的关系型数据库管理系统&#xff08;RDBMS&#xff09;。它们都具有强大的功能和广泛的社区支持&#xff0c;但在某些方面存在一些差异。本文将详细比较 MySQL 和 PostgreSQL&#xff0c;包括它们的特点、性能、扩展性、安全性以及适用场景等…

FreeBSD下使用vncviewer登录bhyve Ubuntu虚拟机无显示-原来是VNC密码错误

问题&#xff1a;vncviewer登录Ubuntu无显示 在“运行程序”里输入vncviewer 192.168.1.5:5900之后&#xff0c;什么显示也没有 &#xff0c;ps看也没有vncviewer相关进程。 cbsd bls JNAME JID VM_RAM VM_CURMEM VM_CPUS PCPU VM_OS_TYPE IP4_ADDR STATUS …

Flask与Django框架比较

Flask与Django是两个在Python Web开发领域极为流行的框架&#xff0c;它们各自拥有独特的特点和优势&#xff0c;适用于不同的开发场景和需求。以下将从多个维度对这两个框架进行详细比较。 一、框架概述 Flask 定义与特点&#xff1a;Flask是一个使用Python编写的轻量级Web…

文献阅读:tidyomics 生态系统:增强组学数据分析

文献介绍 文献题目&#xff1a; The tidyomics ecosystem: enhancing omic data analyses 研究团队&#xff1a; Stefano Mangiola&#xff08;澳大利亚沃尔特和伊丽莎霍尔医学研究所&#xff09;、Michael I. Love&#xff08;美国北卡罗来纳大学教堂山分校&#xff09;、Ant…

virtualbox的ubuntu默认ipv4地址为10.0.2.15的修改以及xshell和xftp的连接

virtualbox安装Ubuntu后&#xff0c;默认的地址为10.0.2.15 我们查看virtualbox的设置发现是NAT 学过计算机网络的应该了解NAT技术&#xff0c;为了安全以及缓解ip使用&#xff0c;我们留了部分私有ip地址。 私有IP地址网段如下&#xff1a; A类&#xff1a;1个A类网段&…

hexo搭建博客(github node git )(失败版本)

HexoGitHub搭建个人博客教程&#xff08;2023最新版&#xff09; 搭建失败了 是因为git命令一直报错 打算明天把git和node版本全部重新安装后再弄 同时回顾一下github git 和 node的基础知识 Github新手之路&#xff08;全过程&#xff09;&#xff08;站在前辈的肩膀上的总…

LinearLayout实现原理分析

LinearLayout 是 Android 中最常用的布局之一&#xff0c;它负责按照水平或垂直方向排列其子视图。LinearLayout 的实现原理主要集中在测量和布局两个阶段&#xff0c;这两个阶段分别对应于 onMeasure() 和 onLayout() 方法。 LinearLayout 的测量过程 (onMeasure()) 在 Line…

Template_C++

C模板 C提供了function template. function template&#xff1a;实际上是建立一个通用函数&#xff0c;其函数类型和形参类型不具体制定&#xff0c;用一个虚拟的类型来代表。这个通用的函数就称为函数模版。 是不是可以这样理解&#xff0c;函数模版就是给了一种功能&…

CVC语言参考

声明 比特向量表达式&#xff08;或术语&#xff09;是由比特向量常量、比特向量变量以及下列函数构成的。在 STP 中&#xff0c;所有变量必须在使用之前声明。一个长度为 32 的比特向量变量的声明示例如下&#xff1a; x : BITVECTOR(32);一个数组声明的示例如下&#xff1a…

pytorch学习(四)绘制loss和correct曲线

这一次学习的时候静态绘制loss和correct曲线&#xff0c;也就是在模型训练完成后&#xff0c;对统计的数据进行绘制。 以minist数据训练为例子 import torch from torch import nn from torch.utils.data import DataLoader from torchvision import datasets from torchvisi…

python+pygame实现扫雷游戏之二

接pythonpygame实现扫雷游戏之一&#xff0c;继续写游戏局的类&#xff1a; 五、 mineblock.py # -*- coding: utf-8 -*- import randomfrom blockstatus import * from mine import *# 9*9-10 16*16-40 30*16-99 30*24-** # BLOCK_WIDTH 30 # BLOCK_HEIGHT 16 # MIN…

【zabbix6监控java-tomcat全流程】

目录 一、监控主机安装zabbix-server1、zabbix的安装2、配置数据库3、为zabbix server配置数据库4、启动服务,web界面安装 二、被监控主机安装tomcat1、安装JDK2、安装tomcat 三、zabbix的服务端安装zabbix-java-gateway四、被监控主机tomcat的配置五、web界面添加主机 一、监控…

使用 Web APi - MediaRecorder 获取麦克风资源,报错:Cannot find name ‘MediaRecorder‘ 的解决方法

目录 一、背景&#xff1a; 二、具体解决方法 一、背景&#xff1a; angular 调用 MediaRecorder 来使用麦克风获取声音&#xff0c;&#xff08;具体要求&#xff1a;angular 前端 按键调用 麦克风&#xff0c;松开按键生成音频文件&#xff09;代码如下&#xff08;来自通…

【树莓派3B+】控制引脚输出高低电平

前言一、安装RPI.GPIO库二、编写简单的输出高低电平的程序三、运行程序总结 前言 首先检查一下自己的板子有没有带库 我这个是有的。 ok&#xff0c;正式进入步骤 一、安装RPI.GPIO库 如果还没有安装RPi.GPIO库&#xff0c;可以通过以下命令在树莓派上安装&#xff1a; p…

Ubuntu20.04从零开搭PX4MavrosGazebo环境并测试

仅仅是个人搭建记录 参考链接&#xff1a; https://zhuanlan.zhihu.com/p/686439920 仿真平台基础配置&#xff08;对应PX4 1.13版&#xff09; 语雀 mkdir -p ~/tzb/catkin_ws/src mkdir -p ~/tzb/catkin_ws/scripts cd catkin_ws && catkin init catkin build cd…

数据结构day2

一、思维导图 内存分配 二、课后习题 分文件编译 //sys.h #ifndef TEST_H #define TEST_H #define MAX_SIZE 100//定义学生类型 typedef struct Stu {char name[20]; //姓名int age; //年龄double score; //分数 }stu;//定义班级类型 typedef struct Class {struct …

Postman实战案例:从零开始设计API测试流程

Postman实战案例&#xff1a;从零开始设计API测试流程 API测试在现代软件开发中至关重要。Postman作为一款强大的API测试工具&#xff0c;不仅提供了直观的用户界面&#xff0c;还支持自动化测试、环境配置和脚本编写。本文将从零开始&#xff0c;详细介绍如何使用Postman设计…

php在服务器上部署可视化运维工具详细列表

如果你的项目很小&#xff0c;可以用宝塔。但对于并发大的服务器管理&#xff0c;选择适合的工具非常重要。 目录 以下是一些免费且适合高并发管理的服务器管理工具推荐&#xff1a; 1Panel&#xff1a; Portainer&#xff1a; Webmin&#xff1a; Cockpit&#xff1a; …