如何在时间对象的向量中找到最近的时间段?

发布于 2025-02-04 18:56:17 字数 604 浏览 2 评论 0原文

我有一个特定的时间段,并且它与我的数据框中的任何时间对象列都不匹配。 例如,X(在下一节中)是我的TimeObject列。我想找出最近的时间(在下一节中)。

x<-as.POSIXct(c("2018-10-26 00:00:43 NZDT" ,"2018-10-26 00:01:13 NZDT" ,"2018-10-26 00:01:43 NZDT" ,"2018-10-26 00:02:13 NZDT", "2018-10-26 00:02:43 NZDT" ,"2018-10-26 00:03:13 NZDT", "2018-10-26 00:03:43 NZDT", "2018-10-26 00:06:13 NZDT","2018-10-26 00:06:43 NZDT" ,"2018-10-26 00:07:13 NZDT") ,origin= "1970-01-01", tz=Sys.timezone())
y<-as.POSIXct("2018-10-26 00:01:12 NZDT", ,origin= "1970-01-01", tz=Sys.timezone())

我知道我可以简单地用y减去x的每个值并找到最小值。但是有直接功能吗?

I have a particular time period, and it dosen't match with any of the timeObject column within my dataframe.
For example, say x (in the following section) is my column of timeObject. I want to find out the nearest time to y (in the following section).

x<-as.POSIXct(c("2018-10-26 00:00:43 NZDT" ,"2018-10-26 00:01:13 NZDT" ,"2018-10-26 00:01:43 NZDT" ,"2018-10-26 00:02:13 NZDT", "2018-10-26 00:02:43 NZDT" ,"2018-10-26 00:03:13 NZDT", "2018-10-26 00:03:43 NZDT", "2018-10-26 00:06:13 NZDT","2018-10-26 00:06:43 NZDT" ,"2018-10-26 00:07:13 NZDT") ,origin= "1970-01-01", tz=Sys.timezone())
y<-as.POSIXct("2018-10-26 00:01:12 NZDT", ,origin= "1970-01-01", tz=Sys.timezone())

I know I can simply subtract every value of x with y and find the minimum value. But is there a direct function for this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烟凡古楼 2025-02-11 18:56:17

您可以简单地尝试

x[which.min(abs(x-y))]

You may simply try

x[which.min(abs(x-y))]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文