gpt4 book ai didi

r - 在 dplyr 链中添加边距行总计

转载 作者:行者123 更新时间:2023-12-03 11:37:14 26 4
gpt4 key购买 nike

我想添加整体摘要行,同时使用 dplyr 按组计算摘要。我发现了各种问题,询问如何做到这一点,例如here , here , 和 here ,但没有明确的解决方案。一种可能的方法是执行 count两次并绑定(bind)行:

mtcars %>% 
count(cyl, gear) %>%
bind_rows(
count(mtcars, gear)
)

这几乎产生了我需要的东西(最左边的列有 NAs 而不是 'Total' 或类似的):
     cyl  gear     n
<dbl> <dbl> <int>
1 4 3 1
2 4 4 8
3 4 5 2
4 6 3 2
5 6 4 4
6 6 5 1
7 8 3 12
8 8 5 2
9 NA 3 15
10 NA 4 12
11 NA 5 5

我错过了一个更简单/内置的解决方案吗?

最佳答案

使用 janitor 包中的 adorn_totals() :

library(janitor)
mtcars %>%
tabyl(cyl, gear) %>%
adorn_totals("row")

cyl 3 4 5
4 1 8 2
6 2 4 1
8 12 0 2
Total 15 12 5

要从那里转到帖子中的“长”表格,请添加 tidyr::gather()到管道:
mtcars %>%
tabyl(cyl, gear) %>%
adorn_totals("row") %>%
tidyr::gather(gear, n, 2:ncol(.), convert = TRUE)

cyl gear n
1 4 3 1
2 6 3 2
3 8 3 12
4 Total 3 15
5 4 4 8
6 6 4 4
7 8 4 0
8 Total 4 12
9 4 5 2
10 6 5 1
11 8 5 2
12 Total 5 5

自我推销警报,我创作了这个包 - 添加这个答案 b/c 这是一个真正有效的解决方案。

关于r - 在 dplyr 链中添加边距行总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39507019/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com