【发布时间】:2021-06-10 09:43:57
【问题描述】:
我有一个数据框 competition,其中包含 branch、phone 和 sales 列
| branch | phone | sales|
|----------|---------|------|
| 123 | milky | 654 |
| 456 | lemon | 342 |
| 789 | blue | 966 |
| 456 | blue | 100 |
| 456 | milky | 234 |
| 123 | lemon | 874 |
| 789 | milky | 234 |
| 123 | blue | 332 |
| 789 | lemon | 865 |
我想显示每部手机的最高销售额:
输出应该是一个数据框winners,看起来像这样
| branch | phone | sales|
|----------|---------|------|
| 123 | milky | 654 |
| 789 | blue | 966 |
| 123 | lemon | 874 |
我尝试先按sales 订购一个数据框,然后只剩下顶部的 3 行,
competition <- competition[order(competition$sales, decreasing = TRUE ),]
winners <- head(competition, 3)
但输出显示 lemon 电话两次,分别是 874 和 865 sales
【问题讨论】:
-
winners <- competition %>% group_by(phone) %>% slice(which.max(sales))使用dplyr。