搜索重复的行条目(具有不同的值!)并将它们相加
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))
我在 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))