r - 如何使用 tidyverse 函数计算 tibble 上的行和列总计

标签 r dplyr tidyverse

给定一个 n × m 的带有数值的小标题。如何计算小标题的行和列总计。

这是带有示例标题的表示:

library(tidyverse)
df <- tibble(names=c('a','b','c','d','e'),x = 1:5, y =5:1, z=2:6)
df
#> # A tibble: 5 x 4
#>   names     x     y     z
#>   <chr> <int> <int> <int>
#> 1 a         1     5     2
#> 2 b         2     4     3
#> 3 c         3     3     4
#> 4 d         4     2     5
#> 5 e         5     1     6

reprex package于2020年6月9日创建(v0.3.0)

鉴于此 tibble,我希望有效地使用 tidyverse 函数来实现以下输出:

enter image description here

我已经能够通过聚集、传播和连接的组合来完成此任务,但我对 R 和 tidyverse 仍然相当陌生,并且想看看是否有更有效的方法来完成此任务。

最佳答案

janitor 库有 adorn_totals 函数:

library(janitor)
df %>%
  adorn_totals(name = 'col_sum') %>%
  adorn_totals(name = 'row_sum', where = 'col')


#   names  x  y  z row_sum
#       a  1  5  2       8
#       b  2  4  3       9
#       c  3  3  4      10
#       d  4  2  5      11
#       e  5  1  6      12
# col_sum 15 15 20      50

关于r - 如何使用 tidyverse 函数计算 tibble 上的行和列总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62280465/

相关文章:

r - 将列表转换为数据框

r - 有没有办法向ggmap添加比例尺(用于线性距离)?

r - 计算小于当前值的值的数量

r - 折叠并合并重叠的时间间隔

r - `purrr::map` 到任何类型

r - 如何在R中的公式中选择公式的一部分?

r - 按 DF 分组,然后使用 dplyr 过滤

R:按总和汇总包含 NA 的列值,同时按 ID 分组

r - 精确日期的左连接值,如果缺失则查找前一个值

tidyverse 中的重复变异