R 按分组变量绘制平均值比较的pvalue信息

R 按分组变量绘制平均值比较的pvalue信息,r,ggplot2,ggpubr,R,Ggplot2,Ggpubr,我已经建立了一个单独查看组的图,但现在想在图中包括平均成对比较的显著性水平。虽然我可以在绘图之外进行比较,但我想知道在绘图中包含比较的最有效方法是什么 当前绘图 library(tidyverse) dsub <- diamonds[ sample(nrow(diamonds), 10000), ] dsub <- dsub %>% filter(clarity %in% c('VS2', 'VS1', 'VVS2')) ggplot(dsub, aes(x = cu

我已经建立了一个单独查看组的图,但现在想在图中包括平均成对比较的显著性水平。虽然我可以在绘图之外进行比较,但我想知道在绘图中包含比较的最有效方法是什么

当前绘图

library(tidyverse)

dsub <- diamonds[ sample(nrow(diamonds), 10000), ]

dsub <- dsub %>%
  filter(clarity %in% c('VS2', 'VS1', 'VVS2'))

ggplot(dsub, aes(x = cut, y = carat, fill = clarity)) +
  geom_boxplot(outlier.size = 0) +
  geom_point(pch = 21, position = position_jitterdodge()) 
库(tidyverse)

dsub编辑以考虑输出的OP优先权

啊。。。好吧,让我至少为你节省一些垂直空间,通过克服
rstatix
不尊重你因子的顺序,并且
ggpubr
希望它的组作为角色而不是因子来整理事情

库(ggplot2)
图书馆(dplyr)
dsub%
突变(组1=因子(组1,
有序=正确,
级别=c(“VS2”、“VS1”、“VVS2”))%>%
排列(切割,组1)%>%
变异(group1=as.character(group1))%>%
rstatix::添加xy位置(x='cut')
ggpubr::ggboxplot(dsub,x=“cut”,y=“carat”,
color=“清晰度”,
添加(抖动)+
ggpubr::统计值手册(dsub统计,
label=“p.adj.signif”,
尖端长度=0.01)

由(v0.3.0)库(tidyverse)于2020-09-24创建 图书馆(rstatix) 图书馆(ggpubr) dsub% wilcox_试验(克拉~透明度)%>%添加_xy_位置(x='cut') ggboxplot(dsub,x=“切割”,y=“克拉”, color=“清晰度”, 添加“抖动” ) + 统计值手册(dsub\u统计,label=“p.adj.signif”,tip.length=0.01)

我为您想要的东西添加了一个可能的解决方案。请检查并让我知道这是否是你想要的!这更接近我想要的,但我设法找到了答案。看看我的答案。谢谢,我根据你所做的更新了我的答案,并进一步改进
library(tidyverse)
library(rstatix)
library(ggpubr)

dsub <- diamonds[ sample(nrow(diamonds), 10000), ]

dsub <- dsub %>%
  filter(clarity %in% c('VS2', 'VS1', 'VVS2'))

dsub_stats <- dsub %>%
  group_by(cut) %>%
  wilcox_test(carat~clarity) %>% add_xy_position(x='cut')


ggboxplot(dsub, x = "cut", y = "carat", 
          color = "clarity", 
          add='jitter'
) +
  stat_pvalue_manual(dsub_stats, label = "p.adj.signif", tip.length = 0.01)