Наилучшим способом классификации числовых данных c по диапазонам с выходным значением числительного c является функция findInterval
. Примеры:
> a <- c(0,0,0,1,1,2,2,2,4,4,7,7,7,35,50,50, 200,200,500,500,500, 2500,2501,2502,2502)
> findInterval( a, c(0, 6, 12, 18, 24))
[1] 1 1 1 1 1 1 1 1 1 1 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5
> findInterval( a, 6^(0:6))
[1] 0 0 0 1 1 1 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 5 5 5 5
> 6^(0:6)
[1] 1 6 36 216 1296 7776 46656
Обратите внимание, что значение, возвращаемое для элементов ниже минимального значения во втором аргументе, равно 0, а значение для элементов выше максимального - это длина вектора vec
(т.е. разрывы). Интервалы закрыты слева, справа открыты, что противоположно поведению функции cut
(если не изменено параметрами).