【发布时间】:2016-10-10 15:44:19
【问题描述】:
我有一个时间戳列表——每分钟一个加上几秒。现在我想使用 R 在该列表中查找参考时间,仅考虑日期+小时+分钟而忽略秒数。
library(lubridate)
data <- c(
"2016-10-09T23:05:01",
"2016-10-09T23:06:01",
"2016-10-09T23:07:01",
"2016-10-09T23:08:01",
"2016-10-09T23:10:10",
"2016-10-09T23:11:01",
"2016-10-09T23:12:01",
"2016-10-09T23:13:04",
"2016-10-09T23:14:02",
"2016-10-09T23:15:03",
"2016-10-09T23:16:10"
)
dataParsed <- ymd_hms(data[])
refTime <- ymd_hms("2016-10-09T23:15:00")
我尝试使用trunc(..., "mins") 和match() 的组合来查找所需时间的索引。但是,这会产生一些意想不到的结果:
以下内容应在“2016-10-09T23:15:03”处找到条目索引,但结果却是idx==NA_integer。
idx <- match(trunc(refTime,"mins"), trunc(dataParsed,"mins"))
奇怪的是,以下(将输入削减为 10 个时间戳)在 idx==9 处找到搜索时间。
idx <- match(trunc(refTime,"mins"), trunc(tail(dataParsed,10),"mins"))
显然,我对 trunc(..., "mins") 和 match() 所做的事情犯了一些错误或有一些错误的假设。
版本信息
R 版本 3.3.1 (2016-06-21)
平台:x86_64-w64-mingw32/x64(64位)
在Win10上运行
【问题讨论】: