我有一个数据框,其中包含具有时间戳的记录。
以下是玩具示例,其中包含一个ID,基于两个不同的时间戳附加了2个SMS。实际上,将有数千个ID,每个ID几乎都有80-100个短信类型和日期。
我希望能创建一个新的数据框,其中仅包含第一条短信日期或最后一条短信日期的SMS类型记录。
我已经尝试使用duplicated,也考虑按ID将日期列降序排序,并添加一个新列,如果当前ID等于上一个ID,则在第一个ID实例旁边放置1,否则放置0。如果记录数量急剧增加,我认为这可能会变得很重。
有没有人知道更优雅的方法 - 或许可以使用data.table。
感谢您的时间。
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类型记录。
我已经尝试使用duplicated,也考虑按ID将日期列降序排序,并添加一个新列,如果当前ID等于上一个ID,则在第一个ID实例旁边放置1,否则放置0。如果记录数量急剧增加,我认为这可能会变得很重。
有没有人知道更优雅的方法 - 或许可以使用data.table。
感谢您的时间。
data.table
中使用.I
会更快一些。为了测试目的,至少发布6-10行总是很好的。 - akrun