R:对函数 .bincode 示例的混淆

R: confusion about the example of function .bincode

R 中 base 包的 .bincode() 函数在其中一个示例中让我感到困惑。
这是令人困惑的例子。

  1. 创建测试数据列表。
x <- c(0, 0.01, 0.5, 0.99, 1)
b <- c(0, 0, 1, 1)
  1. 困惑来了。
.bincode(x, b, FALSE)

返回 2 2 2 2 NA
但根据用法,.bincode(x, breaks, right = TRUE, include.lowest = FALSE).bincode(x, b, FALSE)等于.bincode(x, b, right = FALSE, include.lowest = FALSE)
那么划分区间应该是:(-Inf, 0), [0, 1), [1, +Inf),也就是说x应该映射到NA, 2, 2, 2, 3

推理和 R 输出之间的不一致让我很困惑。

我认为您误读了文档。当我读到它时,它说垃圾箱应该是

empty, [0, 1), empty

因为"An input can only fall into a zero-length interval if it is closed at both ends, so only if include.lowest = TRUE and it is the first (or last for right = FALSE) interval."既然你有include.lowest = FALSE,你的0,0或1,1区间内什么都不能落,所以它们是空的。除了 1 之外的所有东西都落在中间的 bin 中(bin 2); 1 没有落入 bin,所以它得到 NA。