R:对函数 .bincode 示例的混淆
R: confusion about the example of function .bincode
R 中 base
包的 .bincode()
函数在其中一个示例中让我感到困惑。
这是令人困惑的例子。
- 创建测试数据列表。
x <- c(0, 0.01, 0.5, 0.99, 1)
b <- c(0, 0, 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。
R 中 base
包的 .bincode()
函数在其中一个示例中让我感到困惑。
这是令人困惑的例子。
- 创建测试数据列表。
x <- c(0, 0.01, 0.5, 0.99, 1)
b <- c(0, 0, 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。