integer64オブジェクトをbit64からサブクラス化してから等価性テストを実行すると、結果には論理データが含まれますが、論理的ではなく、クラスでクラス化されます。これは、たとえば整数では発生しません。
サンプルコード:
library(bit64)
x = as.integer64(5)
class(x) = c("Foo", "integer64")
x == 5
戻り値
[1] TRUE
attr(,"class")
[1] "Foo"
まだクラス「Foo」があることに注意してください
一方、整数で同じことを行う場合:
y = as.integer(5)
class(y) = c("Foo", "integer")
y == 5
論理を返します
[1] TRUE
なぜこれが起こっているのか考えていますか?