我正在使用以下代码将每个timestamp
中的最新id
保留在一个表中,该表具有约4,200个观察值和4,000个唯一ID。该表有约2,700列,其中一些ID具有多个时间戳。该脚本需要306秒才能完成。
DT[, .SD[which.max(`timestamp`)], id]
但是,当我使用.I
确定每个id
具有最新时间戳的行时,只需花费一秒钟的时间。
DT[, .I[which.max(`die timestamp`)], id]
为什么.SD
的运行速度很慢?最好的方法是仅保留id
的最新观测值?