【问题标题】:Adding up columns with specific combinations添加具有特定组合的列
【发布时间】:2019-11-19 02:51:45
【问题描述】:

我有一张桌子,例如

当 Number、PetName、PetColour、OwnerName 相同时,我需要总成本。 例如,当它的 (123, John, Brown, George) 即前两行时,前两列的总成本将为 37 (25+12)。对于第三行,数字与未添加到 37 的数字不同

非常感谢!!!

【问题讨论】:

  • See here 提出一个人们可以帮助解决的 R 问题。这包括数据样本、所有必要的代码,以及对您正在尝试做的事情和没有奏效的事情的清晰解释。

标签: r dataframe dplyr filtering


【解决方案1】:

我们可以在base R 中使用ave 来创建按感兴趣的列分组的总和

df1$TotalCost <- with(df1, ave(Cost, Number, PetName PetColour,
                OwnerName, FUN = sum))

或在dplyr

library(dplyr)
df1 %>%
  group_by(Number, PetName, PetColour, OwnerName) %>%
  mutate(TotalCost = sum(Cost))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-16
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多