【发布时间】:2013-07-09 12:11:37
【问题描述】:
我有这种数据集(ID、V1、V2 是我的数据框的 3 个变量):
ID V1 V2
1 A 10
1 B 5
1 D 1
2 C 9
2 E 8
我想要一个新的数据框,对于每个 ID,V2 中值为 max 的行。例如,结果将是:
ID V1 V2
1 A 10
2 C 9
【问题讨论】:
-
“max”有关系的情况呢?
-
就我而言这是不可能的
-
如果您对
data.table解决方案感兴趣,那么:dt[dt[, .I[which.max(V2)], by=ID]$V1] -
@Arun,别那么笨拙...
-
@Arun +1,但默认情况下我会使用
.SD解决方案并使用.I一个iff 速度必须如此(因为.SD一个更简单,因为它应该固定在未来某个时间点一样快);dt[, .SD[which.max(V2)], by = ID]
标签: r dataframe subset summarization