我正在尝试创建一个箱线图,它仅显示箱线图中每个条形的组内的显着 p 值。例如,它会比较 I1 和 SI2 的“一般”、“良好”、“非常好”等
我尝试使用以下代码来实现上面的情节
library(ggplot2)
library(dplyr)
data("diamonds")
labeldat <- diamonds %>%
group_by(cut, clarity) %>%
dplyr::summarise(labels = paste(n(), n_distinct(color), sep = "\n"))
Comparisons = list(c("I1","SI2"),c("I1","SI1"),c("I1","VS2"),c("I1","VS1"),c("I1","VVS2"),c("I1","VVS1"),c("I1","IF"),
c("SI2","SI1"),c("SI2","VS2"),c("SI2","VS1"),c("SI2","VVS2"),c("SI2","VVS1"),c("SI2","IF"),
c("SI1","VS2"),c("SI1","VS1"),c("SI1","VVS2"),c("SI1","VVS1"),c("SI1","IF"),
c("VS2","VS1"),c("VS2","VVS2"),c("VS2","VVS1"),c("VS2","IF"),
c("VS1","VVS2"),c("VS1","VVS1"),c("VS1","IF"),
c("VVS2","VVS1"),c("VVS2","IF"),
c("VVS1","IF"))
ggplot(diamonds, aes(x=cut, y=price)) +
geom_boxplot(aes(fill=clarity), position = position_dodge2(width=0.75)) +
theme_bw() +
geom_text(data = labeldat, aes(x = cut, y = -250, label = labels), hjust = 0.5, position = position_dodge2(width = .75))+
stat_compare_means(aes(group=clarity), label = "p.signif", method="t.test", comparisons = Comparisons)
不幸的是,使用比较参数似乎存在计算错误,我无法弄清楚如何解决:
警告信息:
计算失败于stat_signif()
:
需要 TRUE/FALSE 时缺少值
我尝试在没有比较的情况下运行它,但它似乎只是给了我一个总体分数