max*_*oku 5 datetime r lubridate
我有这种格式的大量日期:
dt = as.POSIXct("2004-04-02 12:45:00 UTC")
Run Code Online (Sandbox Code Playgroud)
我必须添加/减去可能并不总是整数的数字.我正在使用lubridate库.
例:
dt - days(2)
[1] "2004-03-31 12:45:00 UTC"
Run Code Online (Sandbox Code Playgroud)
但,
dt - days(1.5)
Error in validObject(.Object) :
invalid class “Period” object: periods must have integer values
Run Code Online (Sandbox Code Playgroud)
这个操作有替代方案吗?
发生错误days(1.5)
,不允许分数周期.你可以这样做:
dt - days(1) - hours(12)
Run Code Online (Sandbox Code Playgroud)
要么
dt - 1.5*24*3600
Run Code Online (Sandbox Code Playgroud)
或者可能有一个基准日期功能,像@DirkEddelbuettel这样的人知道这也会起作用.啊,这是difftime
(我没有足够的日期来记住我头顶的这些东西).
dt - as.difftime(1.5, units="days")
Run Code Online (Sandbox Code Playgroud)
而且,正如@maximusdooku所指出的那样:
dt - ddays(1.5)
Run Code Online (Sandbox Code Playgroud)
(根据代码,它看起来ddays
只是返回请求的时间段内的秒数,加上一些类信息.)