Я хотел бы связать каждый элемент числового вектора с серединой его бункера, используя бит в k
равных ширины.Получите средние точки с одинаковыми ячейками
ggplot2::cut_interval
может производить опоры с одинаковой шириной, а Hmisc::cut2
может обеспечить среднюю точку, но я не вижу способа сделать это вместе.
Минимальный воспроизводимый пример:
v <- c(1, 2, 7, 9)
# cut_interval gives equal-width bins, but no midpoints.
ggplot2::cut_interval(v, 2)
# [1] [1,5] [1,5] (5,9] (5,9]
# Levels: [1,5] (5,9]
# cut2 doesn't give equal-width bins.
Hmisc::cut2(v, g=2)
# [1] [1,7) [1,7) [7,9] [7,9]
# Levels: [1,7) [7,9]
# But it returns the midpoint.
Hmisc::cut2(v, g=2, levels.mean=T)
# [1] 1.5 1.5 8.0 8.0
# Levels: 1.5 8.0
# Which can be extracted as a numeric.
as.numeric(as.character(Hmisc::cut2(v, g=2, levels.mean=T)))
# [1] 1.5 1.5 8.0 8.0