r - 如何使用 dplyr::summarise “带来另一个变量”
问题描述
我想在每个条件组合中获得最大值,同时也带上同一索引的另一个变量的值。
df <- mtcars %>%
group_by(gear,carb) %>%
summarise(max_cyl = max(cyl))
但是我该怎么做才能“带上”每辆车的最大 mpg 呢?这似乎是一件基本的事情,但它似乎也没有出现在 dplyr 教程中。
换句话说,我只想选择在每个档位 x 碳水化合物条件下具有最大气缸数的汽车,并且知道同一辆车的油耗。
解决方案
另一种可能:
df2 <- (mtcars
%>% group_by(gear,carb)
%>% filter(cyl==max(cyl))
%>% select(cyl,mpg)
)
(或者select(gear,carb,cyl,mpg)
如果您想避免有关“添加缺少的分组变量”的消息,则在最后一行)
如果您想捕获更多变量并且不想继续输入,这种方法会很方便which.max()
。
推荐阅读
- c# - 如何使用 c# 将 Web api 中的 JSON 数据导入 SQL 表?
- javascript - 如何将这个工作的 JavaScript 代码翻译成 Java 来计算 CRC16
- sql-server - SSMS - 数据库上下文菜单不包括数据库升级选项
- websphere - 无法连接 PAX
- html - 在 Laravel 表单上对齐文本框
- cloudinary - 富文本中内容丰富的 Cloudinary 图像用于博客文章
- python - Python 数据库查询
- pine-script - 我怎样才能使随机指标在 0 线上居中?(Pine 脚本 V4)
- python-3.x - 无法导入适用于 Python 的 Cloud Firestore 库:App Engine、python 3.9
- pandas - 使用 sklearn.utils.shuffle 向 K 邻居分类器中的数据集添加一些噪声