打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
一图胜千言-箱式图+显著性差异更好看

无论是实验数据整理,还是流调数据分析,组间数据的比较都是我们最常用到的。

箱式图是个很不错的展示组间差异的方式~

箱式图,是指—种描述数据分布的统计图,是表述最小值、第一四分位数、中位数、第三四分位数与最大值的一种图形方法。它也可以粗略地看出数据是否具有对称性,分布的分散程度等信息,特别是可用于对几个样本的比较。在箱图中,最上方和最下方的线段分别表示数据的最大值和最小值,其中箱图的上方和下方的线段分别表示第三四分位数和第一四分位数,箱图中间的粗线段表示数据的中位数。

百度百科

如果我们能在箱式图的基础上,再添加显著性差异那就好看啦~

可是又该怎么实现呢?今天我们用R语言来试试看~

首先,我们用excel表整理我们的实验数据。这里我模拟了2组(A组和B组)各10个样本的观测值。示例数据如下:

在execl表格中圈住想要读取的数据部分,选择“复制”,在R中执行命令read.table("clipboard")就可以直接读取我们所选中的数据啦~

data<-read.table("clipboard")

载入分析和画图所需工具包

#载入数据分析和画图所需要的两个数据包#如为首次使用,需先安装#install.packages("ggplot2")#install.packages("ggsignif")library(ggplot2)library(ggsignif)

我们先绘制一张没有显著性标记的图看看

p1<-ggplot(data,aes(data[,1],data[,2],fill=data[,1]))+geom_boxplot()p1

此时,虽然我们可以看出来B组的样本数值高于A组,但是这种差异是否显著呢?

让我们再绘制一张有组间比较标记的图来看看

#列出需要比较的Group。如需要比较A和B两个组compaired <-list(c("A","B"))#如数据为多组比较。举例 A、B、C三个组两两比较compaired <-list(c("A","B"),c("A","C"),c("B","C"))p2<-ggplot(data,aes(data[,1],data[,2],fill=data[,1]))+geom_boxplot()+geom_signif(comparisons = compaired,test=t.test,map_signif_level = T)
p2

可以看到,A组和B组通过t.test检验,呈显著性差异("***"=0.001,  "**"=0.01, "*"=0.05

如此处我们希望展现的数值,而不是用*号表示,我们可以将参数map_signif_level 调整为F

p3<-ggplot(data,aes(data[,1],data[,2],fill=data[,1]))+geom_boxplot()+geom_signif(comparisons = compaired,test=t.test,map_signif_level = F)p3

如果喜欢小提琴图,也可以用小提琴+箱式图的方式展现

p4<-ggplot(data,aes(data[,1],data[,2],fill=data[,1]))+geom_violin()+geom_boxplot(width=0.2)+geom_signif(comparisons = compaired,test=t.test,map_signif_level = F)p4

如需继续美化,可参照ggplot2的各项参数调整,或copy至画图软件再继续修饰

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
30天学会R DAY22:ggplot2 快速画图
绘图专题 | 使用ggsignif添加显著性标签
R ggplot和ggsignif箱线图添加显著性差异标识
技术贴 | R语言ggplot2给箱图添加散点和连线
ggplot2 分组箱线图图绘制方法
Legends
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服