加个P,代码自取!
代码文末直接拿走吧,求个免费的3连了!
本期分享如何使用R为分组数据差异添加统计检验P value。
效果图
添加 数值P value效果图,
添加数值P value摘要星号 “*”效果图,
添加数值P value摘要 “ns”效果图,
代码
使用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")
)
添加数值P value摘要星号“*”,
将上面代码中的map_signif_level = function(p) sprintf("%.2g", p)替换为map_signif_level = T即可。
添加数值P value摘要“ns”效果图,
在textsize = 4.5后添加annotations = c('***','***','NS'),即可
点个 在看就是最大的支持