Мы можем использовать smart_cut
из пакета cutr
:
devtools::install_github("moodymudskipper/cutr")
library(cutr)
Используя выборочные данные @ Joshua:
медиана по интервалу (тот же вывод, что и у @Joshua, за исключением того, что это упорядоченный коэффициент):
smart_cut(x,3, "n_intervals", labels= ~ median(.))
# [1] 18 2 18 2 18 18 ...
# Levels: 2 < 11 < 18
центр каждого интервала (тот же вывод, что и у @Aaron, за исключением того, что это упорядоченный коэффициент):
smart_cut(x,3, "n_intervals", labels= ~ mean(.y))
# [1] 16.67 3.333 16.67 3.333 16.67 16.67 ...
# Levels: 3.333 < 10 < 16.67
среднее значение по интервалу:
smart_cut(x,3, "n_intervals", labels= ~ mean(.))
# [1] 17.48 2.571 17.48 2.571 17.48 17.48 ...
# Levels: 2.571 < 11.06 < 17.48
labels
может быть символьным вектором, как и в base::cut.default
, но он также может быть, как и здесь, функцией от 2 параметров, первый из которых представляет собой значения, содержащиеся в ячейке, а второй - точки вырезания.из корзины.
больше на cutr и smart_cut