为另一列中的每个值选择一列中的最大值[重复]
Posted
技术标签:
【中文标题】为另一列中的每个值选择一列中的最大值[重复]【英文标题】:Select max value in one column for every value in the other column [duplicate] 【发布时间】: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
。
【参考方案1】:
aggregrate(sales ~ phone, df, max)
【讨论】:
感谢您提供此代码 sn-p,它可能会提供一些有限的即时帮助。 proper explanation 将通过展示为什么这是解决问题的好方法,并使其对有其他类似问题的未来读者更有用,从而大大提高其长期价值。请编辑您的答案以添加一些解释。以上是关于为另一列中的每个值选择一列中的最大值[重复]的主要内容,如果未能解决你的问题,请参考以下文章
调整相对于 2 列的选择以在一列中返回最大值以用于另一列中的重复条目