在日常研究中,我们会碰到配对资料,例如同一病人治疗前后的变化,同一病人癌组织和癌旁组织基因表达,类似于等等都需要配对资料。对于这类数据的展示通常使用配对点图来可视化,这里我们演示配对箱线散点图的绘制。
绘图数据结构包括三列,一列是表达量,一列是分组,还有一列是样本ID。
图片这里我们用两种方法实现配对的做法,并对数据进行显著性检验。
一、ggplot2---代码有注释
setwd("F:/生物信息学/配对箱线图")
df <- read.csv("mybox.csv",header = T)
library(ggplot2)
library(forcats)
df$group <- as.factor(df$group)
df$group <- fct_inorder(df$group)
ggplot(df, aes(x = group, y = gene.expression)) +
geom_boxplot(aes(fill = group), show.legend = F, width = 0.6) + #箱线图
scale_fill_manual(values = c('#00AFBB', '#E7B800')) + #设置颜色
geom_point(size = 3,color='red') +
geom_point(size = 3,shape=21) + #绘制散点
geom_line(aes(group = sample), color = 'gray', lwd = 0.5) + #配对样本间连线
theme(panel.grid = element_blank(),
axis.line = element_line(colour = 'black', size = 1),
panel.background = element_blank(),
plot.title = element_text(size = 15, hjust = 0.5),
plot.subtitle = element_text(size = 15, hjust = 0.5),
axis.text = element_text(size = 15, color = 'black'),
axis.title = element_text(size = 15, color = 'black')) +
labs(x = '', y = 'gene.expression', title = 'Cancer vs Control')+
stat_compare_means(method = "t.test",paired = TRUE, comparisons=list(c("cancer", "control")))#配对t检验
图片
二、ggpubr---代码有注释
library(ggpubr)
ggpaired(df, x="group", y="gene.expression", fill="group",id = "sample",
add="jitter",line.color = "gray", line.size = 0.5,
palette=c('#00AFBB', '#E7B800'),
xlab=" ",
ylab="gene.expression", title = "Cancer vs Control",
legend.title=" ",show.legend = F) +
stat_compare_means(method = "t.test",paired = TRUE, comparisons=list(c("cancer", "control"))) +#配对t检验
theme(legend.position = 'none')#去掉legend
图片
两种方法得到的结果一样,但是个人认为ggpubr较ggplot2使用方便,因为不用调节太多东西,ggpaired函数就是专门做配对箱线图的!想获取示例数据的请至《KS科研分享与服务》公众号打赏截图联系作者!
网友评论