R 如何使用ggsignif将方差分析单向p值添加到ggplot

R 如何使用ggsignif将方差分析单向p值添加到ggplot,r,ggplot2,tidyverse,R,Ggplot2,Tidyverse,我有以下数据 library(tidyverse) library(ggsignif) set.seed(1) a <- rnorm(n = 10, mean = 5, sd = 1) b <- rnorm(n = 10, mean = 5.8, sd = 1) data <- data.frame(label = c(rep("A", 10), rep("B", 10)), id = c(1:10, 1:10), value = c(

我有以下数据

library(tidyverse)
library(ggsignif)
set.seed(1)
a <- rnorm(n = 10, mean = 5, sd = 1)
b <- rnorm(n = 10, mean = 5.8, sd = 1)

data <- data.frame(label = c(rep("A", 10), rep("B", 10)), id = c(1:10, 1:10), 
                   value = c(a, b))
请注意,p值为0.042

但是,当我尝试使用此代码时:

ggplot(data, aes(x = label, y = value )) + 
  geom_boxplot() + 
  geom_signif(comparison = list(c("A",  "B")), y_position = 11, test = function(a, b) {
    list(p.value = summary(aov(a ~ b))[[1]][["Pr(>F)"]][[1]])
  })
我明白了:

注意p值为0.28,而不是0.042。
正确的方法是什么,这样我就可以把0.042的值放在绘图中?

两组单因素方差分析的p值与t检验相同

ggplot(data, aes(x = label, y = value )) + 
  geom_boxplot() + 
  geom_signif(comparison = list(c("A",  "B")), y_position = 11, test = "t.test")

两组单因素方差分析的p值与t检验相同

ggplot(data, aes(x = label, y = value )) + 
  geom_boxplot() + 
  geom_signif(comparison = list(c("A",  "B")), y_position = 11, test = "t.test")

@乌贼44是对的。对于两组比较,t检验更合适

只需提及这一
geom\u signif
的替代方案,您还可以使用
stat\u compare\u means
ggpubr
包中获取绘图上的p值:

库(ggpubr)
图书馆(GG2)
ggplot(数据,aes(x=标签,y=值))+
geom_箱线图()+
统计比较平均值(方法=“方差分析”,标签y=7)+
统计比较意味着(比较=列表(c(“A”、“B”)),方法=“t.test”,标签y=8)

@乌贼44是对的。对于两组比较,t检验更合适

只需提及这一
geom\u signif
的替代方案,您还可以使用
stat\u compare\u means
ggpubr
包中获取绘图上的p值:

库(ggpubr)
图书馆(GG2)
ggplot(数据,aes(x=标签,y=值))+
geom_箱线图()+
统计比较平均值(方法=“方差分析”,标签y=7)+
统计比较意味着(比较=列表(c(“A”、“B”)),方法=“t.test”,标签y=8)

ggplot(data, aes(x = label, y = value )) + 
  geom_boxplot() + 
  geom_signif(comparison = list(c("A",  "B")), y_position = 11, test = "t.test")