【发布时间】:2016-06-19 16:50:35
【问题描述】:
我正在处理一些鸟类 GPS 跟踪数据,我想根据时间戳排除点。
一些背景信息 - GPS 记录器跟踪每只鸟仅超过 24 小时,从晚上开始,一直持续到晚上和第二天。我想做的是排除部署后当天晚上 9:30 之后获得的分数(因此从赛道的最末端删除分数)。
作为一个 R 新手,我很苦恼,因为每只鸟的部署日期都不同,所以我不能简单地将 subset() 用于特定的日期和时间。
我的数据框 (df) 示例:
BirdID x y Datetime
15K12 492719.9 5634805 2015-06-23 18:25:00
15K12 492491.5 5635018 2015-06-23 18:27:00
15K70 455979.1 5653581 2015-06-24 19:54:00
15K70 456040.9 5653668 2015-06-24 19:59:00
因此,假设这些点代表每只动物的 GPS 轨迹的开始,我想在 6 月 24 日晚上 9:30 之后删除鸟类 15K12 的点,以及 6 月 25 日晚上 9:30 之后的鸟类 15K70 的点。
有什么想法吗?
【问题讨论】:
-
可能过度吸管,但
df %>% group_by(BirdID) %>% filter(Datetime < (Datetime %>% min() %>% as.Date() %>% `+`(1) %>% paste('21:30:00') %>% as.POSIXct()))