我用来比较两个列表,一个列表包含数值%in%向量,另一个列表包含相应的整数值。结果真的很奇怪;有时有时,我不明白为什么。TRUEFALSE
例如下面的代码给出TRUE
list(c(1, 1)) %in% list(c(1L, 1L))
Run Code Online (Sandbox Code Playgroud)
但是,如果我们将向量中的第二个数字更改为 2 和 2L,我们会得到FALSE
list(c(1, 2)) %in% list(c(1L, 2L))
Run Code Online (Sandbox Code Playgroud)
将第二个数字更改为 3 或 4TRUE再次给出。
list(c(1, 3)) %in% list(c(1L, 3L))
list(c(1, 4)) %in% list(c(1L, 4L))
Run Code Online (Sandbox Code Playgroud)
再次使用其他一些值会产生结果FALSE,但我看不到任何模式。例如,使用 8 和 9 结果为FALSE:
list(c(8, 9)) %in% list(c(8L, 9L))
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么会这样?这真的令人困惑,我完全不明白为什么会发生这种情况。