在数据分析过程中,常常需要把组间的显著性添加到图形中,但是在ggplot2中实现起来略显麻烦,幸运的是,有很多R包可以帮助我们实现这一 *** 作,比如ggsignif和ggpubr。
一般根据数据是否符合正态分布,选择合适的统计方法:
ggsignif包主要函数为: geom_signif() 和 stat_signif() ,常用 geom_signif() 。
安装
使用iris数据集做演示
Species的三组两两分别作差异性检验,提前设定好配对分析的list
绘制geom_boxplot()和小提琴图geom_violin()
ggpubr添加p-value主要使用ggpubr包中的两个函数: compare_means() 和 stat_compare_mean() 。
y:测试中使用的y变量
p:p-value
p.adj:调整后的p-value。默认为p.adjust.method=“holm”
p.format:四舍五入后的p-value
p.signif:显著性水平
method:用于统计检验的方法
绘制箱线图
上述显著性标记可以通过label.x、label.y、hjust及vjust来调整
显著性标记可以通过aes()映射来更改:
aes(label=…p.format…)或aes(lebel=paste0(“p=”,…p.format…)):只显示p-value,不显示统计检验方法
aes(label=…p.signif…):仅显示显著性水平
aes(label=paste0(…method…,"\n", “p=”,…p.format…)):p-value与显著性水平分行显示
也可以将标签指定为字符向量,不要映射,只需将p.signif两端的…去掉即可
利用ggpaired()进行可视化
绘图
Pairwise comparisons:如果分组变量中包含两个以上的水平,那么会自动进行pairwise test,默认方法为”wilcox.test”
参考: https://blog.csdn.net/xj4math/article/details/115448669
最终出图如下
这里自动做统计检验的函数是 stat_compare_means()
读入数据
作图
这个函数来自于ggpubr这个包,只需要指定根据那一列来分组就可以了
默认的是Wilcoxon Rank Sum and Signed Rank Tests,如果要用t检验指定method参数
如果想把P值改成星号,直接加label=“p.signif”参数
这里如果不显著会在图上显示ns,如果不想要ns,可以加 hide.ns = TRUE 参数
星号的位置可以手动指定,用 label.y = c(26,31) 参数
使用到的是 ggsignif 这个包
小明的数据分析笔记本
因为我们一般自己录的数据都是excel表格的,对于读取excel,此处有一个小技巧
注意此处有一个易错点,就是忘记加载ggpubr,因为stat_cor是ggpubr包中的,如果未加载ggpubr包,则会出现
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)