如何为每个组选择最大时间戳?

时间:2019-02-14 12:02:10

标签: r

如何为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

1 个答案:

答案 0 :(得分:1)

我们将其转换为DateTime,然后按组(假设组为ID,obj)获取索引,以将.SD(data.table的子集)作为子集

dt[, .SD[which.max(as.POSIXct(MR_time, format = "%H:%M:%S"))], by = .(ID, obj)]