R:分组最小值或最大值

标签 r greatest-n-per-group

关于如何使用 SQL 获取分组最小值或最大值的帖子太多了。但是你如何在 R 中做到这一点?

假设,您有以下数据框

ID | t | value
a | 1 | 3
a | 2 | 5
a | 3 | 2
a | 4 | 1
a | 5 | 5
b | 2 | 2
b | 3 | 1
b | 4 | 5

对于每个 ID,我不想要最小 t,而是最小 t 处的值。

ID | value
a | 3
b| 2

最佳答案

df 是你的 data.frame -

library(data.table)

setDT(df) # convert to data.table in place

df[, value[which.min(t)], by = ID]

输出-

> df[, value[which.min(t)], by = ID]
   ID V1
1:  a  3
2:  b  2

关于R:分组最小值或最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23087664/

相关文章:

r - 如何在通过连接段绘制的图像中填充黑色?

sql - 用户最后值(value)的总和

用于选择修复行数 "families"的 SQL

php - MySQL 分组依据,按两列排序

r - 需要帮助使用 R 中的 Vegan 包为绘图制作图例

r - 为什么是 "if an object has two bindings, and one goes away, the reference count does not go back to 1"?

r - 如何在 R 中整理这个凌乱的数据集

r - 调整x轴标题位置

php - MySQL:使用 GROUP BY 时显示最新值

oracle - 如何使用区分从表中仅选择一个唯一记录