首页 > 解决方案 > 绘制组内和组间差异

问题描述

ggpubr目前正在使用来绘制我的价值观。多亏了这些方面,我设法根据某些因素创建了子图。最后,使用该功能, stat_compare_means()我设法仅绘制了组之间的差异

生成我的数字的最少代码是

library(ggpubr)

data("ToothGrowth")

my_comparisons <- list( c("0.5", "1"), c("1", "2"), c("0.5", "2") )

p <- ggboxplot(ToothGrowth, x = "dose", y = "len",
               color = "supp", palette = "npg",
               add = "jitter",
               facet.by = "supp", short.panel.labs = FALSE)
p + stat_compare_means(comparisons = my_comparisons, label = "p.signif")

其中supp是分组因子、len结果和dose自变量。

这是结果:

在此处输入图像描述

我还想显示组内的差异(例如,0.5|OJ 和 0.5|VC 之间的统计显着性),但我认为我当前的代码不可能。

有人可以指点我一些关于如何实现我想要的例子吗?

编辑 2

@Tjebo 为清楚起见,我在此处附上一个类似于我正在寻找的图,其中不仅有组之间的差异(例如红色和蓝色条之间),而且组内(例如两个红色条之间)。

例如,我想(回到最小的可重现示例)绘制介于0.5OJ和0.5 之间VC的p 值dosis

在此处输入图像描述

标签: rggplot2hypothesis-testggpubr

解决方案


从统计上看,我发现这种方法相当值得怀疑。您正在回顾性地创建一些子组,而不是针对可能存在的任何混杂因素进行调整。

但我们走了。只需更改 x 变量,当然还有列表,这stat_compare_means需要知道要比较哪些组。

library(ggpubr)

data("ToothGrowth")

my_comparisons <- list( c("OJ", "VC") )

p <- ggboxplot(ToothGrowth, x = "supp", y = "len",
               add = "jitter",
               facet.by = "dose", short.panel.labs = FALSE)
p + stat_compare_means(comparisons = my_comparisons, label = "p.signif")

推荐阅读