搜索重复的行条目(具有不同的值!)并将它们相加

Searching for duplicate row entries (with different values!) and adding them up

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

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 行的编号相同但颜色不同,因此它们分开。 在这种情况下,结果 table 应该只有 5 行,例如:

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

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))