如何为R中的每个组选择最大时间戳。
df <- read.table(text = " ID obj MR_time
1599 1 20:05:22
1599 1 20:06:38
1599 1 20:07:22
1599 2 20:08:38
1599 2 20:09:28", header = TRUE)
dt <- data.table(df)
我要求输出为
1599 1 20:07:22
1599 2 20:09:28
答案 0 :(得分:1)
我们将其转换为DateTime
,然后按组(假设组为ID,obj)获取索引,以将.SD
(data.table的子集)作为子集
dt[, .SD[which.max(as.POSIXct(MR_time, format = "%H:%M:%S"))], by = .(ID, obj)]