【问题标题】:Searching for duplicate row entries (with different values!) and adding them up搜索重复的行条目(具有不同的值!)并将它们相加
【发布时间】:2021-05-05 02:15:18
【问题描述】:

我有一个数据框,在 R 中有 3 个列条目。数字、颜色、数量。我想检查我的数据框是否有与其数量和颜色相匹配的行,(数量可能不同!)。需要将这些行合并为一行,并汇总数量。一个示例表是:

Number Color Quantity
3475b Black 2
4349 White 4
970c00 Yellow 1
3475b Black 7
3641 Red 8
4349 Red 3

总结一下:第 1 行和第 4 行的总数量应该是 9。 第 2 行和第 6 行的编号相同,但颜色不同,因此它们保持分开。 在这种情况下,结果表应该只有 5 行,例如:

Number Color Quantity
3475b Black 9
4349 White 4
970c00 Yellow 1
3641 Red 8
4349 Red 3

【问题讨论】:

  • dfr %>% count(Number, Color)

标签: r dataframe rows


【解决方案1】:

base R中,我们可以使用aggregate

aggregate(Quantity ~ ., df1, sum)

-输出

#   Number  Color Quantity
#1  3475b  Black        9
#2   3641    Red        8
#3   4349    Red        3
#4   4349  White        4
#5 970c00 Yellow        1

数据

df1 <- structure(list(Number = c("3475b", "4349", "970c00", "3475b", 
"3641", "4349"), Color = c("Black", "White", "Yellow", "Black", 
"Red", "Red"), Quantity = c(2L, 4L, 1L, 7L, 8L, 3L)), class = "data.frame",
row.names = c(NA, 
-6L))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多