【问题标题】:Compare values by x-axis with geom_signif将 x 轴的值与 geom_signif 进行比较
【发布时间】:2021-02-15 11:41:19
【问题描述】:

使用ggpubr::geom_signif,可以轻松地为 X 轴上的不同值或组添加比较。 这是一个例子

ex = data.frame(time = c("A","B","C","D","E"),
                effect = runif(n = 1000, min = 0, max = 100),
                group = c("blue","red"))

comparisons = list(
  c(1,2),
  c(1,3),
  c(1,4),
  c(1,5)
)

ex %>% 
  ggplot(aes(x = time, y = effect, group = group)) +
  stat_summary(geom = "point") +
  stat_summary(geom = "line") +
  geom_signif(comparisons = comparisons, step_increase = 0.1)

如何在每个时间点内进行比较? 我想要的输出以相同的方式呈现数据,但每个时间点的组间差异的 P 值。

【问题讨论】:

  • 根据一年前对您自己的问题的回答,关于相同的原则 - 一年前没有 ggpubr 解决方案。这可能已经改变。或者,如果没有,也许您会觉得它可能需要功能请求。不过,他们可能会将其置于相当低的优先级。反对票不是我的,但我明白

标签: r ggplot2 ggpubr


【解决方案1】:

所有这些 p 值的计算是否合理或正确至少值得怀疑。无论如何 - 显示你想要什么的一种方法是将组作为 x 并按时间分面

根据您的分析类型,您似乎将每个时间点视为独立的(它们不是相关的,但它们是相关的),视觉上的等价物是将它们分成单独的方面,而不是用一条线将它们联系起来。

comparisons = list(
  c(1,2))

ex %>% 
  ggplot(aes(x = group, y = effect)) +
  stat_summary(geom = "point") +
  stat_summary(geom = "line") +
facet_wrap(~time) +
  geom_signif(comparisons = comparisons, step_increase = 0.1)

【讨论】:

  • 我绝对同意,对于像这样的相关数据,您需要考虑到这一点,这是通过单独的模型完成的。话虽如此,我还是想避免刻面。
  • @mhovd 我在想这个问题让我想起了我去年回答的问题。我找到了它 - 它不仅是重复的,而且 OP 就是你!大声笑
  • 哈,真巧!我找到了另一个问题的解决方案,即在geom_signif 中使用step_increase。但是,该问题与布局和防止重叠有关,而不是按 X 轴上的组或值进行比较:)
猜你喜欢
  • 1970-01-01
  • 2021-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多