前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ggplot2添加躺平版P_value

ggplot2添加躺平版P_value

作者头像
R语言数据分析指南
发布2022-09-21 15:33:00
5330
发布2022-09-21 15:33:00
举报
文章被收录于专栏:R语言数据分析指南

❝今天来主要介绍如何在常见的箱线图基础上水平添加显著性标记,也许恰好您正好有此特殊需求,希望对各位观众老爷有所帮助;下面来看具体案例; ❞

加载R包

代码语言:javascript
复制
library(tidyverse)
library(rstatix)
library(ggprism)
library(ggpubr)

定义主题

代码语言:javascript
复制
theme_niwot <- function(){
  theme_test() +
    theme(axis.title.x = element_blank(),
          axis.line = element_line(color = "#3D4852"),
          axis.ticks = element_line(color = "#3D4852"),
          panel.grid.major.y = element_line(color = "#DAE1E7"),
          panel.grid.major.x = element_blank(),
          plot.margin = unit(rep(0.2,4),"cm"),
          axis.text = element_text(size = 10, color = "#22292F"),
          axis.title = element_text(size = 10, hjust = 1),
          axis.title.y = element_blank(),
          axis.text.y = element_text(margin = margin(r = 5)),
          axis.text.x = element_text(margin = margin(t = 5)),
          legend.position = "non")
}

统计分析

代码语言:javascript
复制
stat.test2 <- ToothGrowth %>% mutate(dose=as.factor(dose)) %>% group_by(dose) %>% 
  t_test(len ~ supp) %>%
  adjust_pvalue() %>% add_significance("p.adj") %>% add_xy_position(x="dose") 

stat.test3 <- ToothGrowth %>% 
  t_test(len ~ dose,p.adjust.method = "bonferroni") %>%
  adjust_pvalue() %>% add_significance("p.adj") %>% add_xy_position() 


res.aov <- ToothGrowth %>% mutate(dose=as.factor(dose)) %>% anova_test(len ~ dose)

数据可视化

代码语言:javascript
复制
ToothGrowth %>% mutate(dose=as.factor(dose)) %>% 
  ggplot(aes(dose,len))+
  stat_boxplot(geom = "errorbar",width=0.2,aes(fill = supp),position = position_dodge(1)) +
  geom_boxplot(aes(fill= supp),position = position_dodge(1))+
  stat_pvalue_manual(stat.test2,label = "p.adj.signif",label.size=6,hide.ns = T, coord.flip = TRUE)+
  stat_pvalue_manual(stat.test3,label = "p.adj.signif",label.size=6,hide.ns = T, coord.flip = TRUE)+
  coord_flip()+
  labs(subtitle = get_test_label(res.aov, detailed = TRUE))+
  scale_y_continuous(expand=c(0,0),limits = c(0,42))+
  theme_niwot()+
  scale_fill_manual(values=c("#00AFBB", "#E7B800"))

❝本节介绍到此结束,主要在于「stat_pvalue_manual」函数添加「coord.flip = TRUE」参数使得图形得以躺平添加显著性标记,一点很小的细节;那么若要在分面图上进行躺平该如何操作,这个我们以后在进行讨论;

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言数据分析指南 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 加载R包
  • 定义主题
  • 统计分析
  • 数据可视化
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档