使用日期/时间因子变量的子集数据框

皮特

我希望这是一个重复的问题,但我现在已经花了很多时间试图找到解决方案,并且非常感谢您的帮助。

timestamp在数据框中有一个变量,当前存储为一个因子。timestamp是格式为 dd/mm/yyyy hh:mm:ss:ssssss 的日期和时间

我希望能够使用时间戳变量对数据帧进行子集化,例如 09/10/2017 00:02:00 和 09/10/2017 00:06:00 之间的所有行。

我尝试转换为有序因子和 POSIXlt 以帮助进行子集化,但没有成功。

预先感谢您的任何帮助

df <- data.frame(timestamp=c("09/10/2017 00:00:00:000000", "09/10/2017 00:01:00:000000", "09/10/2017 00:02:00:000000", 
                 "09/10/2017 00:03:00:000000", "09/10/2017 00:04:00:000000", "09/10/2017 00:05:00:000000",
                 "09/10/2017 00:06:00:000000", "09/10/2017 00:07:00:000000", "09/10/2017 00:08:00:000000", 
                 "09/10/2017 00:09:00:000000", "09/10/2017 00:10:00:000000", "09/10/2017 00:00:00:000000", 
                 "09/10/2017 00:01:00:000000", "09/10/2017 00:02:00:000000", "09/10/2017 00:03:00:000000", 
                 "09/10/2017 00:04:00:000000", "09/10/2017 00:05:00:000000", "09/10/2017 00:06:00:000000", 
                 "09/10/2017 00:07:00:000000", "09/10/2017 00:08:00:000000", "09/10/2017 00:09:00:000000", 
                 "09/10/2017 00:10:00:000000"), b=c (1:22))
莫里茨·埃弗斯

这是使用的解决方案 lubridate

require(lubridate);

# Convert timestamps to POSIXct time&date
df$timestamp <- dmy_hms(gsub(":000000", "", df$timestamp));

# These are your query start/stop dates&times
start <- "09/10/2017 00:02:00";
stop <- "09/10/2017 00:06:00";
interval <- interval(dmy_hms(start), dmy_hms(stop));

# Return entries that fall within query interval
df[df$timestamp %within% interval, ];
#        timestamp  b
#3  2017-10-09 00:02:00  3
#4  2017-10-09 00:03:00  4
#5  2017-10-09 00:04:00  5
#6  2017-10-09 00:05:00  6
#7  2017-10-09 00:06:00  7
#14 2017-10-09 00:02:00 14
#15 2017-10-09 00:03:00 15
#16 2017-10-09 00:04:00 16
#17 2017-10-09 00:05:00 17
#18 2017-10-09 00:06:00 18

或用于subset(df, timestamp %within% interval)给出相同的结果。最好将其包装在一个函数中以供更广泛的使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用涉及两个因子变量的天和值的多个条件来子集数据框

来自分类Dev

R中基于日期的子集数据框

来自分类Dev

Julia:子集数据框

来自分类Dev

使用 as.character(as.Date()) 转换原始因子变量 Date 列后,按特定日期对数据框进行子集化

来自分类Dev

使用 POSIXct 向量 R 的子集数据框

来自分类Dev

使用lapply基于两个或多个因子变量对数据框进行子集

来自分类Dev

使用多个变量在R Shiny中子集数据

来自分类Dev

使用多个日期条件为介于两者之间的范围子集数据框

来自分类Dev

子集数据并使用Shiny绘制此子集数据

来自分类Dev

按日期获取子集数据帧

来自分类Dev

基于字段的子集数据框

来自分类Dev

子集数据框导致错误输出

来自分类Dev

基于列表对象的子集数据框

来自分类Dev

基于缩放交互的子集数据框

来自分类Dev

根据变量名子集数据?

来自分类Dev

带有时间戳的子集数据,与R中的日期无关

来自分类Dev

使用增量变量名称从R数据帧子集数据

来自分类Dev

使用R或Python子集数据

来自分类Dev

使用%in%子集数据表

来自分类Dev

使用%in%的替代方法的子集数据

来自分类Dev

R中使用多个不等式表达式的子集数据框

来自分类Dev

使用另一个子集数据框删除行

来自分类Dev

通过 R 中的因子变量对数据框进行子集化时遇到问题

来自分类Dev

R-仅按时间的子集数据帧

来自分类Dev

子集数据

来自分类Dev

按日期范围子集数据表

来自分类Dev

子集数据帧包含系统日期的行

来自分类Dev

子集数据框时选择了未定义的列

来自分类Dev

在R中子集数据框-意外结果