【发布时间】:2015-05-25 21:04:03
【问题描述】:
我有一个数据框,其中包含带有时间戳的记录。 下面的玩具示例包含一个 ID,它基于两个不同的时间戳附加了 2 个 SMS。实际上会有数千个 ID,每个 ID 都有近 80-100 个短信类型和日期
toydf <- data.frame(ID = c(1045937900, 1045937900),
SMS.Type = c("DF1", "WCB14"),
SMS.Date = c("12/02/2015 19:51", "13/02/2015 08:38"))
我希望能够创建一个新的数据帧,它只包含第一个 SMS.Date 甚至最后一个 SMS 类型的记录
我看过使用duplicated,我还考虑过按每个 ID 降序对日期列进行排序,并添加一个新列,该列在 ID 的第一个实例旁边放置一个 1,如果当前 ID 等于前一个 ID。如果记录数量急剧增加,我怀疑这会变得很重
有谁知道这样做的更优雅的方式 - 也许使用 data.table
感谢您的宝贵时间
【问题讨论】:
标签: r distinct-values