【问题标题】:Summarize all column from a dataset on another column without using their column names在不使用列名的情况下汇总另一列数据集中的所有列
【发布时间】:2023-01-30 23:27:17
【问题描述】:

我有下面的数据框,我想根据 activity 列对每一列求和,这就是我在下面做的。问题是因为我的数据集将是动态的,所以我每次都会有不同的列名,所以我需要一种不使用列名进行求和的方法(activity 除外)。

vol<-structure(list(activity = c("RAAMELK", "Separering", "Sweetmilk Pasteurizer 8332", 
"9005 - T51 kartong 70x70", "RAAMELK", "Separering", "Sweetmilk Pasteurizer 8331", 
"9004 - T42 kartong 70x70", "9006 - T61 BIB", "9004 - T41 kartong 70x70"
), qty.in = c(0, 19976.92, 17590.92, 17480, 0, 31, 31, 6, 3, 
28), qty_scrap.in = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), qty.out = c(19976.92, 
2386, 17481, 17694, 31, 9, 31, 6, 3, 28), qty_scrap.out = c(0, 
0, 109.92, -214, 0, 0, -270.64, 524, 260, 0)), class = "data.frame", row.names = c(1L, 
3L, 5L, 7L, 9L, 11L, 13L, 15L, 17L, 19L))

library(dplyr)
vol<-vol %>% group_by(activity) %>%
      summarize(qty.in = sum(qty.in),
                qty_scrap.in = sum(qty_scrap.in),
                qty.out = sum(qty.out),
                qty_scrap.out=sum(qty_scrap.out))

【问题讨论】:

  • 何时使用 across 的类示例 :-)

标签: r


【解决方案1】:
vol |> group_by(activity) |>
  summarise(across(.cols=everything(),
                   .fns=sum))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-03
    • 1970-01-01
    • 2018-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-23
    相关资源
    最近更新 更多