0

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),它可以工作,但必须有一种更优雅的方式来做到这一点......

4

0 回答 0