我有下面的代码,
set.seed(15)
xdf <- data.frame(
values = c(
rnorm(n = 20, mean = 0, sd = .4),
rnorm(n = 20, mean = 0.3, sd = .7),
rnorm(n = 20, mean = 0.6, sd = .15),
rnorm(n = 20, mean = 0.2, sd = .4),
rnorm(n = 20, mean = 0.4, sd = .4),
rnorm(n = 20, mean = 0.7, sd = .5)
),
groups = rep(LETTERS[1:6],each=20)
)
library(ggplot2)
library(ggpubr)
ggplot(xdf, aes(x=groups, y=values, fill=groups)) +
geom_boxplot() +
scale_fill_manual(values=pals::brewer.greens(6)) +
theme_pubclean() +
theme(legend.position = 'none') +
xlab("") +
ylab("Values") +
stat_compare_means(ref.group="A",
method = "t.test",
label.y = maxvals+0.1,
symnum.args = list(cutpoints = c(0, 0.0001, 0.001, 0.01, 0.05, 1),
symbols = c("****", "***", "**", "*", "ns"))
生成以下曲线图:
如果我删除了ref.group="A"
参数并替换为comparisons=
列表,那么synum.args=
就可以工作,它会用星号替换p值,而不是T-test, p=0.0016
等。然而,当使用参照组时,我似乎不能像我想象的那样用星号替换p值。
1条答案
按热度按时间kh212irz1#
实现所需结果的一个选项是使用
after_stat
来使用存储在计算变量p.signif
中的标签符号: