1

假设我们的数据框是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,但它是用base R实现的,我不知道如何翻译它。

4

0 回答 0