pythonic生物人

加个P,代码自取!

本期分享如何使用R为分组数据差异添加统计检验P value。


效果图

  • 添加数值P value效果图,
Image
  • 添加数值P value摘要星号“*”效果图,
Image
  • 添加数值P value摘要“ns”效果图,
Image

代码

使用R ggplot2自带的鸢尾花iris数据集,比较setosa、versicolor、virginica三类鸢尾花的花萼长度是否具有显著差异。

library(ggplot2)
library(ggtext)
library(ggbeeswarm)
library(showtext)
showtext_auto()
ggplot(iris, aes(Species, Sepal.Width, fill = Species)) +
  geom_boxplot(fill = "transparent") + # 绘制箱图
  geom_quasirandom(shape = 21, color = "black", alpha = 1, size = 5) + # 绘制抖动图
  geom_signif( # 添加p值
    comparisons = list(
      c("setosa", "virginica"),
      c("setosa", "versicolor"),
      c("virginica", "versicolor")
    ),
    test = "t.test",
    step_increase = 0.1, textsize = 4,
    map_signif_level = function(p) sprintf("%.2g", p), # 设置p值显示样式
  ) +
  scale_fill_manual(values = c( # 设置抖动图填充色
    "setosa" = "#2e9695",
    "versicolor" = "#fca133",
    "virginica" = "#7193cf"
  )) + 
  labs( # 设置标题
    caption = "Author: <span style='color:#01a2d9'>Pythonic生物人</span>"
  ) +
  theme_pubr() + # 设置绘图主题
  theme(legend.position = "none") + # 关闭图例
  theme(
    plot.caption = element_markdown(hjust = 0.8, vjust = 0.8, size = 11, face = "bold")
  )
Image

添加数值P value摘要星号“*”,

将上面代码中的map_signif_level = function(p) sprintf("%.2g", p)替换为map_signif_level = T即可。

添加数值P value摘要“ns”效果图,

在textsize = 4.5后添加annotations = c('***','***','NS'),即可


-END-
分享一份原创Python可视化教程(基于py可视化利器seaborn):530张图形+8000行代码+详细代码注释+后续免费更新+学习交流群,教程部分内容,

例如,

👉还在用AI拼图,试试这个Python工具!

👉Python seaborn超级细节完结篇-联合美化

👉141个图表,完美展示数据分类关系!

👉53个图表,完美展示数据组合关系!

👉55个热力图heatmap代码模版~

👉51个图表,完美展示数据分布关系!

👉又一个配色新工具,颜色盘多达2500+类!

👉可视化配色工具,colormap多达3174类,数万种颜色!

Image

Image

Image

Image

Image

Image

Image

Image

Image

Image

每类图表包含详细代码+详细代码注释,多达8000行代码,例如,Image


如何加入学习?

👇加入学习(收费、备注:169)

Image

✅解锁获取6大权限:

  1. 8000+行代码(复制即可运行)
  2. 在线教程文档(清晰目录)
  3. 依赖数据(免费下载)
  4. 交流群
  5. 后续更新
  6. 定期抽最新机器学习、数据科学类书籍

点个 在看、赞就是最大的支持Image