R: путаница с примером функции .bincode - PullRequest
0 голосов
/ 19 апреля 2020

Функция .bincode() пакета base в R сбивает меня с толку в одном из ее примеров.
Вот пример сбивающий с толку.

  1. Создание списка данных для теста.
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 меня очень смущает.
???

1 Ответ

1 голос
/ 19 апреля 2020

Я думаю, что вы неправильно читаете документацию. Когда я читаю его, он говорит, что ячейки должны быть

empty, [0, 1), empty

, потому что «вход может попасть в интервал нулевой длины, только если он закрыт на обоих концах, поэтому только если include.lowest = TRUE и это первый (или последний для right = FALSE) интервал. " Поскольку у вас есть include.lowest = FALSE, ничто не может попасть в ваши интервалы 0,0 или 1,1, поэтому они пусты. Все, кроме 1, попадает в средний бункер (бункер 2); 1 не попадает в корзину, поэтому он получает NA.

...