最近,我开始意识到强大的ggpubr包,以及通过向ggline图添加stat_compare_means()来轻松显示图的同时包含统计测试的轻松性。
我想通过在下面添加统计数据来完善我的数据,比如每组的参与者数量和平均值,也许还有sd值,这应该可以通过使用ggsummarystats()来实现。
但是,如果我将ggline参数嵌套到ggsummarystats()中,并在下面添加stat_compare_means(),R会输出“NULL”。
下面的示例工作正常,并在图形下方显示基本统计信息,但不包括上面p值的pmax。
df %>%
ggsummarystats(x="TIMEPOINT",
y="PROTEIN_CONCENTRATION",
color="DISEASE",
add=c("jitter", "mean_sd"),
add.params = list(alpha=0.3),
palette= "jco",
ggfunc=ggline,
summaries = c("n", "mean", "ci")
)
如果我添加stat_compare_means(),它不再工作->“NULL”
df %>%
ggsummarystats(x="TIMEPOINT",
y="PROTEIN_CONCENTRATION",
color="DISEASE",
add=c("jitter", "mean_sd"),
add.params = list(alpha=0.3),
palette= "jco",
ggfunc=ggline,
summaries = c("n", "mean", "ci")
)
stat_compare_means(aes(group = DISEASE), label = "p.signif", label.y = 40)
我的直觉告诉我,我必须以某种方式将stat_compare_means()包含到ggsummarystats中,就像ggline函数一样,但我不知道怎么做。
有谁知道如何将图表上方的asterix与下方的基本统计数据结合起来?
1条答案
按热度按时间jutyujz01#
ggsummarystats
生成的对象本质上是两个ggplot的列表;一个用于主图,称为main.plot
,另一个用于表,称为summary.plot
。您必须将stat_compare_means
添加到main.plot
,并将其写回ggsummarystats
对象。由于没有可重现的示例,让我们使用
ggsummarystats
帮助文件中的示例:现在我们生成并存储图:
现在
p
看起来像这样:我们将
stat_compare_means
层添加到p
的main.plot
成员,如下所示:所以
p
变成:创建于2023-09-26附带reprex v2.0.2