【问题标题】:groupby multiple columns and sum then sum in dplyrgroupby 多列然后求和然后在 dplyr 中求和
【发布时间】:2018-05-22 20:13:42
【问题描述】:

我将数据框按 3 列 (v1, v2, v3) 与 dplyr 和第 4 列 (v4) 进行分组。但是,我的以下代码仅给出了所有数据帧中v4(单个值)的总和,而不是使用组。

 df %>%
    group_by(v1, v2, v3) %>%
    summarise(sumv4 = sum(v4))

df

 v1  v2  v3  v4
  1   0   5   1
  1   0   5   1
  1   0   5   0
  2   1   5   1
  2   1   5   0
  3   2   4   1
  3   2   4   0

预期输出

  v1  v2  v3  v4
  1   0   5   2
  2   1   5   1
  3   2   4   1

谢谢!

【问题讨论】:

  • 我的机器上运行了预期的输出
  • 试试df %>% group_by(v1, v2, v3) %>% dplyr::summarise(sumv4 = sum(v4))。您使用的可能是 plyrsummarise
  • 如果您在使用不同版本的函数时遇到问题,您可能想尝试严格的包https://github.com/hadley/strict

标签: r group-by dplyr


【解决方案1】:

我发布的代码有效,问题出在我的包版本中。指定包名即可解决。

df %>%
group_by(v1, v2, v3) %>%
dplyr::summarise(sumv4 = sum(v4))

【讨论】:

  • 很高兴我能帮上忙。还有一点需要注意:问题是包冲突。确保先加载plyr,然后再加载dplyr(以防两个包都需要)。如果你反其道而行之,你应该会看到一个警告。
  • 请注意,这正是我在加载时所做的。谢谢! @markus
猜你喜欢
  • 1970-01-01
  • 2018-03-29
  • 2016-07-15
  • 2016-09-26
  • 1970-01-01
  • 2021-04-01
  • 2021-07-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多