gpt4 book ai didi

r - 如何在 R 中减少分钟数?

转载 作者:行者123 更新时间:2023-12-02 05:47:40 24 4
gpt4 key购买 nike

我在 R 中有一个 DateTime 对象。

tempDateTime<-as.POSIXct("2017-07-13 01:40:00 MDT")

class(tempDateTime)

[1] "POSIXct""POSIXt"

我想从 DateTime 对象中删除分钟。即有“2017-07-13 01:00:00 MDT”

有没有简单的方法可以做到这一点?

最佳答案

在基础 R 中

trunc(tempDateTime, units = "hours")
# "2017-07-13 01:00:00 AEST"

之所以可行,是因为基础 R 中的 round 函数具有处理 POSIX 对象的方法。

来自 ?round.POSIXt

Round or truncate date-time objects.


正如@Thelatemail 指出的那样,这将返回一个 POSIXlt 对象,因此您可能希望再次将结果包装在 as.POSIXct() 中。


另外请注意,POSIXct 是一个对象,用于存储自“1970-01-01 00:00:00”(Unix 纪元)以来的秒数。

as.numeric(tempDateTime)
# 1499874000

因此手动舍入时间的方法是

as.POSIXct(floor(as.numeric(tempDateTime) / 3600) * 3600, origin = "1970-01-01")

关于r - 如何在 R 中减少分钟数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45745396/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com