r - 使用 stat_compare_means 测试多个组是否显着不为零?
问题描述
我ggpubr::stat_compare_means
在 ggplot2 中使用来显示多个箱线图的重要性。我试图找到一种方法来显示我的每个箱线图是否与某个值(0)显着不同,但我只能找到方法来比较它们是否与特定组或所有组的均值不同。
这是我的情节的样子:
有些组在0以上,有些在0以下。我要测试的是每个组是否与0显着不同。
目前 stat_compare_means 正在计算这个参数的重要性:
stat_compare_means(label = "p.signif", method = "t.test", ref.group = ".all.", label.y=1.1)
我知道我需要更改“ref.group”参数。在这种情况下,我认为它取所有组的平均值,并测试每个组是否与它显着不同。
ref.group 的文档说:
“指定参考组的字符串。如果指定,对于给定的分组变量,每个组级别将与参考组(即对照组)进行比较。ref.group 也可以是“.all.”。在此在这种情况下,每个分组变量水平都会与所有水平进行比较(即basemean)。”
由于这需要一个字符串,我能想到的将我的组与 0 进行比较的唯一方法是创建一个 0 的虚拟对照组,这将是参考组。然后我可以在 ref.group 参数中指向该组。
有没有其他方法可以将这些组与 0 进行比较?谢谢。
df%>%ggplot(aes(x=species,y=weighted_change))+
geom_hline(yintercept=0,linetype="dashed")+
geom_boxplot(color="orangered")+
labs(x="Species",y="Mean Change",title="Central Basin and Range")+
theme(plot.title = element_text(hjust = 0.5,size = 12, face = "bold"))+
theme(axis.title = element_text(size = 10, face = "bold"))+
theme(axis.text=element_text(size=10,face="bold"))+
theme(axis.text.x = element_text(angle = 45, hjust = 1))+
coord_cartesian(ylim=c(-1.1,1.1))+
stat_compare_means(label = "p.signif", method = "t.test", ref.group = ".all.", label.y=1.1)
解决方案
我认为stat_compare_means
在这里实际上不会对您有太大帮助,因为它似乎主要用于组之间的比较,并且您想在每个组内进行计算。相反,您可以在进入 ggplot 之前自己计算测试:
library(tidyverse)
# Test whether each group differs from 0
t_tests = iris %>%
group_by(Species) %>%
summarise(P = t.test(Petal.Width, mu = 0)$p.value,
Sig = ifelse(P < 0.05, "*", "ns"),
MaxWidth = max(Petal.Width))
ggplot(iris, aes(x = Species, y = Petal.Width)) +
geom_boxplot() +
# Use the prepared table of test results as data for the geom
geom_text(aes(label = Sig, y = MaxWidth + 0.2), size = 6,
data = t_tests)
因为我没有你用过的数据iris
,但由于 iris 也有一个species
列,所以应该很清楚发生了什么。
推荐阅读
- github-actions - Github Actions - 如何在同一 env 部分中使用 env 中定义的变量?
- python - 如何修复/修复包依赖项以安装 Atom
- php - 是否有人能够使用后缀、sendmail 通过 AWS LAMP 服务器向 gmail 发送邮件
- html - HTML 元素溢出 CSS 属性
- python - 将下载的图像存储到变量中时出错
- r - 如何在 R 中用同一图中的不同线生成图?
- c# - 更改系统语言c#的最佳方法
- python-3.x - RAM 在 google colab 中崩溃
- python - python 与 BPF 映射的交互
- r - 将向量拆分为 n 个列表对象 (R)