【问题标题】:Displaying p values on ggplot proportional bar graphs在 ggplot 比例条形图上显示 p 值
【发布时间】:2021-03-25 22:56:55
【问题描述】:

我正在尝试将一些分类数据的 R ggplot 图与成对的 p 值放在一起。我可以绘制数据图,并计算出成对的 p 值,但无法计算出如何将它们一起显示。有人有什么建议吗?

我的偏好是使用geom_signif() 之类的东西来显示它们,但我完全被卡住了。在这个阶段,我很乐意接受将它们显示为图表下方的表格,如果这样更容易吗?

数据:

我的数据格式如下:

> str(df)
'data.frame':   589 obs. of  2 variables:
 $ grp1: Factor w/ 2 levels "N","Y": 1 2 1 1 1 1 1 2 2 2 ...
 $ grp2: Factor w/ 4 levels "A","B","C","D": 3 1 2 1 3 3 4 2 2 1 ...

数据的计数是:

> table(df)
    grp2
grp1   A   B   C   D
   N  81 144 117  88
   Y  40  61  38  20

成对比例检验是:

> library(rstatix)
> pairwise_prop_test(table(df))
# A tibble: 6 x 5
  group1 group2      p p.adj p.adj.signif
* <chr>  <chr>   <dbl> <dbl> <chr>       
1 A      B      0.618  0.948 ns          
2 A      C      0.153  0.612 ns          
3 B      C      0.325  0.948 ns          
4 A      D      0.0189 0.113 ns          
5 B      D      0.0432 0.216 ns          
6 C      D      0.316  0.948 ns          

图表是:

> library(ggplot2)
> ggplot (df, aes(x=grp2, fill=grp1))+
+ geom_bar(position="fill")

比例条形图

目标:

我想将pairwise_prop_test(table(df))p 列中的数字添加到图表中,可以使用geom_signif(),也可以作为grp1grp2p 底部的表格图(任何表结构)。

【问题讨论】:

  • pairwise_prop_test 使用哪个包?看起来有几个包可能有同名的函数。
  • @Jon Spring:library (rstatix)

标签: r ggplot2


【解决方案1】:

这是一种使用 dplyr 添加行号并将其用于垂直间距的方法。

library(dplyr)
ggplot (df, aes(x=grp2, fill=grp1)) + 
  geom_bar(position="fill") +
  geom_segment(data = ppt %>% dplyr::mutate(row = row_number() / n() * 0.5),
               aes(x = group1, xend = group2,
                   y = row, yend = row), inherit.aes = FALSE) +
  geom_text(data = ppt %>% mutate(row = row_number() / n() * 0.5),
            aes(x = group1, label = p, y = row), 
            inherit.aes = FALSE, vjust = -0.2, hjust = 0) 

【讨论】:

  • 效果很好 - 谢谢!对于任何追随我的人,我用来完成这项工作的代码是ppt &lt;- pairwise_prop_test(table (f)),然后是@Jon-Spring 的代码。我还遇到了命令mutate 的库冲突,必须将其替换为dplyr::mutate() 以指定我想使用mutate()dplyr 版本
猜你喜欢
  • 2013-06-09
  • 1970-01-01
  • 2023-04-02
  • 2018-02-07
  • 2021-11-20
  • 2021-05-09
  • 1970-01-01
相关资源
最近更新 更多