如何制作与 ggplot 交互的百分比堆积条形图?

时间:2021-03-21 19:22:13

标签: r ggplot2 bar-chart stacked-chart ggmosaic

假设我们的数据框是 mtcars[, c("vs", "am")]。我想要一个百分比堆积的条形图/条形图,有 2 列,一个用于 vs,另一个用于 am,每一个都有 2 个组,==1==0,但分成这样的一种查看 2 列的方式,我会观察 4 组。让我们看看:

library(dplyr)
mtcars %>% select(vs, am) %>% sjmisc::frq(interaction(vs,am))
interaction(vs, am) <categorical>
# total N=32  valid N=32  mean=0.48  sd=0.51

Value |  N | Raw % | Valid % | Cum. %
-------------------------------------
 0.00 | 12 | 37.50 |   37.50 |  37.50
 0.10 |  6 | 18.75 |   18.75 |  78.12
 1.00 |  7 | 21.88 |   21.88 |  59.38
 1.10 |  7 | 21.88 |   21.88 | 100.00
 <NA> |  0 |  0.00 |    <NA> |   <NA>

将有一个水平部分,其中两列的组均为 1,对应于 21.88%。 vs==1am==0 的另一个水平部分将是另一个 21.88%。将有第三部分对应于 18.75%,其中 vs==0am==1 以及最后一个水平部分,其中两列中的组都为 0,百分比为 37.5%。在 y 轴将指示累积 N 或累积百分比。

是否有 ggplot 或任何扩展名(可能像 ggmosaicComplexUpset)?

谢谢!

PS:问题来自函数stablelearner::image,但它是用基R实现的,我不知道如何翻译。

0 个答案:

没有答案