将小计添加到 R 数据表作为 ggplot2 瀑布图的基础



我正在尝试使用 ggplot2 包在 R 中制作瀑布图。由于它没有默认模板(我想坚持使用 ggplot2 包),我必须自己准备数据。

我正在学习本教程,但我想在我的绘图中包含小计,因此需要对数据集中的某些行进行汇总,并且小计行应出现在数据框的中间

所以我有一张这样的表:

Position     Value
1        52
2        12
3       -14
4       -25
5       -10
6        60
7       -30

我希望它变成这样:

Position     Value
1        52
2        12
Subt1        64
3       -14
4       -25
5       -10
Subt2        15
6        60
7       -30
Subt3        45

由于我的列表中没有太多位置,一旦我知道它是如何工作的,我就可以手动进行映射(Subt1 = 1 + 2; Subt2 = Subt1 + 3 + 4 + 5; ...)。不过,我不知道如何将总和动态输入到我的列表中。之后也可以手动完成订购。

谢谢你们!

一个选项group_split基于在"值"列的sign上用rleid创建的分组向量,然后遍历data.framelist,最后add_rowsum"值">

library(tidyverse)
library(tibble)
library(data.table)
df1 %>%
group_split(grp = rleid(sign(Value)), keep = FALSE) %>%
map_df(~ .x %>% add_row(Position = 'Subt1', Value = sum(.$Value)))

相关内容

  • 没有找到相关文章

最新更新