Как выбрать максимальную метку времени для каждой группы в 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
Мы конвертируем его в DateTime и получаем индекс по группе (при условии, что group is ID, obj) для подмножества .SD (подмножество data.table)
DateTime
.SD
dt[, .SD[which.max(as.POSIXct(MR_time, format = "%H:%M:%S"))], by = .(ID, obj)]