如何在 R 中添加小数时间?
How can I add fractional times in R?
我有大量这种格式的日期:
dt = as.POSIXct("2004-04-02 12:45:00 UTC")
而且我必须 add/subtract 可能并不总是完整的数字 numbers.I 我正在使用 lubridate 库。
示例:
dt - days(2)
[1] "2004-03-31 12:45:00 UTC"
但是,
dt - days(1.5)
Error in validObject(.Object) :
invalid class “Period” object: periods must have integer values
这个操作有替代方案吗?
days(1.5)
出现错误,它不允许小数句点。你可以这样做:
dt - days(1) - hours(12)
或
dt - 1.5*24*3600
或者像@DirkEddelbuettel 这样的人可能知道一个基本日期函数也可以工作。啊,是 difftime
(我没有足够的时间来记住这些事情)。
dt - as.difftime(1.5, units="days")
而且,正如@maximusdooku 指出的那样:
dt - ddays(1.5)
(根据代码,看起来 ddays
只是 returns 请求时间段内的秒数,加上一些 class 信息。)
我有大量这种格式的日期:
dt = as.POSIXct("2004-04-02 12:45:00 UTC")
而且我必须 add/subtract 可能并不总是完整的数字 numbers.I 我正在使用 lubridate 库。
示例:
dt - days(2)
[1] "2004-03-31 12:45:00 UTC"
但是,
dt - days(1.5)
Error in validObject(.Object) :
invalid class “Period” object: periods must have integer values
这个操作有替代方案吗?
days(1.5)
出现错误,它不允许小数句点。你可以这样做:
dt - days(1) - hours(12)
或
dt - 1.5*24*3600
或者像@DirkEddelbuettel 这样的人可能知道一个基本日期函数也可以工作。啊,是 difftime
(我没有足够的时间来记住这些事情)。
dt - as.difftime(1.5, units="days")
而且,正如@maximusdooku 指出的那样:
dt - ddays(1.5)
(根据代码,看起来 ddays
只是 returns 请求时间段内的秒数,加上一些 class 信息。)