chron
我有两个使用我试图比较的类“时间”生成的对象。从表面上看,它们看起来相同:
> str(x)
Class 'times' atomic [1:6] 0.04444 0.05417 0.05486 0.00208 0.01111 ...
..- attr(*, "format")= chr "h:m:s"
> str(y)
Class 'times' atomic [1:6] 0.04444 0.05417 0.05486 0.00208 0.01111 ...
..- attr(*, "format")= chr "h:m:s"
所以我预计 x - y = 0 或 x==y 会返回 TRUE,但事实并非如此:
> x-y
[1] -6.245005e-17 -2.775558e-17 -2.775558e-17 7.372575e-18 -7.112366e-17 0.000000e+00
> x==y
[1] FALSE FALSE FALSE FALSE FALSE TRUE
知道发生了什么或如何比较两者吗?我已经尝试将其更改为 POSIXct 并且有效,但在比较之前,我需要对数据来自的数据框列进行操作(加法和减法),而 POSIXct 无法做到这一点。此外,它需要额外的步骤,这是为了快速检查数据中是否存在任何差异。
我想我可以使用 as.character(x)==as.character(y),它可以工作,但必须有一种更优雅的方式来做到这一点......