我知道有一些与此相似的问题,但我尝试了建议的答案,但我无法弄清楚如何更改
stat_compare_means
中的小数数量
也许是因为我没有比较彼此之间的所有价值观,而是仅比较其中的一些值。
我的代码是:
library(tidyverse)
library(ggbeeswarm)
library(ggpubr)
set.seed(123)
data <- data.frame(
plot = rep(c("cl", "ct",
"rt", "rl"), each = 10),
value = c(rnorm(10, mean = 3.5, sd = 0.3), # Control lower canopy
rnorm(10, mean = 3.7, sd = 0.3), # Control upper canopy
rnorm(10, mean = 4.0, sd = 0.3), # Released upper canopy
rnorm(10, mean = 4.2, sd = 0.3)) # Released lower canopy
)
summary_data <- data %>%
group_by(plot) %>%
summarise(
value_Mean = mean(value),
value_SE = sd(value) / sqrt(n())
)
comparisons <- list(
c("cl", "ct"),
c("ct", "rt"),
c("rt", "rl"),
c("cl", "rl")
)
ggplot(data, aes(x = plot, y = value)) +
geom_beeswarm(aes(color = plot),size = 5, alpha = 0.6) +
geom_errorbar(
data = summary_data,
aes(y = value_Mean, ymin = value_Mean - value_SE, ymax = value_Mean + value_SE),
width = 0.2, size = 0.8, color = "black"
) +
geom_point(
data = summary_data,
aes(y = value_Mean), color = "red", size = 8
) +
stat_compare_means(
comparisons = comparisons, method = "t.test", label = "p.format",
label.y = c(4.3, 4.8, 5.3, 5.8),
size = 10
)
i我尝试在标签中添加
decimal=3
,或者添加
format.pval = function(p) format(p, digits = 3)
i bed bed Indy bect bec.
我做错了什么?如果您可以指出可以回答这个问题的问题,我将非常感谢IT-Br
ggsignif::geom_signif
ggpubr::stat_compare_means
参数来格式化
p-values。 不幸的是,该参数被
map_signif_level=
劫持的方式只试图猜测您是否要使用未出口的ggpubr
.来替换恒星替换值。
much更轻松的解决方案就是仅使用一个直接
.is_p.signif_in_mapping()
,而是使用两个警告,而不是geom_signif
和test=
而不是y_position=
和
method=
参数(具有完全相同的含义):label.y=