【发布时间】:2025-12-01 16:55:02
【问题描述】:
我读过的每个文档似乎都表明,lubridate 1.7.4 中的持续时间可能是负数,包括 R 文档提供的示例:
> duration(-1, "days")
> duration(day = -1)
This one bugfix back in 2009 与示例输出类似:
> new_duration(secs = -1, mins = -1, hours = -1)
[1] "-1 hours, -1 minutes and -1 seconds"
但是当我运行duration(-1, "days") 时,R 返回:
[1] "86400s (~1 days)"
怎么了?
【问题讨论】:
-
持续时间怎么可能是负数?这没有逻辑意义。
-
@thc 只要表达式
a - b有意义,b的负值也必然有意义。lubridate允许从时间中减去持续时间,因此允许这些持续时间为负数并支持否定操作是有意义的。