介绍
附图1代码
导入R包
library(tidyverse)
library(ggpubr)
library(ggplot2)
library(ggrepel)
library(patchwork)
Figure S1A
load('01_data/plot_data/FS1A.RData')
p <- ggboxplot(auc_all_method, x = "model_method", y = "auc", fill="model_method",
palette = "npj",width = 0.3)+
facet_grid(~method)+
stat_compare_means(label.y = 1.08)+
theme(legend.position="none")+
xlab("Modeling method") + ylab("AUC")+
labs(color = "method")+
ylim(0.1,1.2)+
theme(text = element_text(size=13,face = 'plain',family ='',colour = 'black'),
axis.text.x = element_blank(),axis.ticks.x=element_blank())
p
Figure S1B ----
load('01_data/plot_data/FS1B.RData')
p_r_top_median_external <- subset(p_r_top_median,method=='test')
p_r_top_median_internal <- subset(p_r_top_median,method=='train')
p_r_top_median_external <- subset(p_r_top_median_external,num<=45)
p1<-ggplot(data = p_r_top_median_external,aes(x=num,y=AUC,color=disease,shape=level))+
xlab('No. of top feature')+
ylab('External AUC')+
geom_line()+
geom_point(size=3)+
theme(text = element_text(size=13,face = 'plain',family ='',colour = 'black'))+
theme(panel.background = element_blank(),axis.line = element_line(colour = "black"),legend.position="right")+
geom_vline(xintercept =45,color='red')+
ylim(0.42,0.95)
p1
p_r_top_median_internal <- subset(p_r_top_median_internal,num<=45)
p2<-ggplot(data = p_r_top_median_internal,aes(x=num,y=AUC,color=disease,shape=level))+
xlab('No. of top feature')+
ylab('internal AUC')+
geom_line()+
geom_point(size=3)+
theme(text = element_text(size=13,face = 'plain',family ='',colour = 'black'))+
theme(panel.background = element_blank(),axis.line = element_line(colour = "black"),legend.position="none")+
geom_vline(xintercept =45,color='red')+
ylim(0.42,0.95)
p2
p <- p2+p1
p
Figure S1C
load('01_data/plot_data/FS1C.RData')
p1 <- ggboxplot(subset(a,method=='internal'), x = "top", y = "AUC", fill = "top",
palette = "d3",width = 0.3)+
stat_compare_means(label.y=1.05)+
xlab("No. of top feature") + ylab("Internal AUC")+
labs(color = "method")+
theme(text = element_text(size=13,face = 'plain',family ='',colour = 'black'),legend.position="none")+
ylim(0.2,1.1)
p2 <- ggboxplot(subset(a,method=='external'), x = "top", y = "AUC", fill = "top",
palette = "d3",width = 0.3)+
stat_compare_means(label.y=1.05)+
xlab("No. of top feature") + ylab("External AUC")+
labs(color = "method")+
theme(text = element_text(size=13,face = 'plain',family ='',colour = 'black'),legend.position="none")+
ylim(0.2,1.1)
pl <- p1+p2
pl
Figure S1D
load('01_data/plot_data/FS1D.RData')
p <- ggboxplot(auroc_all, x = 'Group', y = 'auc', fill = 'Group',palette = "aaas",
line.color = "gray", line.size = 0.4,
short.panel.labs = FALSE,width = 0.4)+
facet_grid(~method)+
stat_compare_means(paired = T,label.y=1.1)+
theme(legend.position = 'top')+
labs(y='AUC',x='')+
theme(text = element_text(family = '',size = 12,face = 'plain'))
p
Figure S1E
kk <- read.csv('01_data/auc_comparison.csv',header = T)
kk <- kk[,c("projects","disease",'AUC','final_AUC',"AUC.final_AUC",'label')]
colnames(kk) <- c("projects","disease",'paper_AUC','our_AUC','diff','label')
p <- kk %>%
mutate(label=ifelse(label%in%c('type3','type4'),'type2','type1'))%>%
ggplot()+
geom_point(aes(x=our_AUC,y=paper_AUC,color=label,size=abs(diff)))+theme_classic()+
scale_y_continuous(limits = c(0.3,1),breaks = seq(0.3,1,0.1))+
scale_x_continuous(limits = c(0.3,1),breaks = seq(0.3,1,0.1))+
scale_color_manual(values = c('type1'='#98d09d','type2'='#e77381'),name='')+
geom_abline(slope = 1,intercept = 0,colour='#8f888b',size=1)+
geom_abline(slope = 1,intercept = 0.15,linetype="dashed",colour='#8f888b',size=1)+
geom_abline(slope = 1,intercept = -0.15,linetype="dashed",colour='#8f888b',size=1)+
geom_text_repel(aes(x=our_AUC,y=paper_AUC,label=disease),colour="black", size=2,max.overlaps = 30)+
theme(plot.title = element_text(hjust = 0.5),legend.background = element_blank(),
legend.box.background = element_rect(fill = "white", color = "black"),
text = element_text(size=13,face = 'plain',family ='',colour = 'black'))+
coord_fixed()+
xlab('Our AUC')+
ylab("Literature's AUC")
p