Как построить предварительно сложенную гистограмму в R

У меня есть таблица с предустановленным частотным диапазоном для довольно большого набора данных. То есть, один вектор-столбец бункеров и один столбец-вектора счетчиков, связанных с этими ячейками. Я бы хотел, чтобы R построил гистограмму этих данных, выполнив дальнейшее разбиение и суммирование существующих отсчетов. Например, если в предварительно закодированных данных у меня есть что-то вроде [(0.01, 5000), (0.02, 231), (0.03, 948)], где первое число - это бункер, а второе - счетчик, а я выберите 0.04 в качестве новой ширины бункера, я ожидаю получить [(0.04, 6179)]. Какой самый быстрый и простой способ сделать это в R?

Ответ 1

Похоже, у ggplot2 есть ответ.

 
library(ggplot2)
qplot(bin, data=cbind(bins,counts), weight=counts, geom="histogram")

Ответ 2

В новом пакете HistogramTools на CRAN имеется ряд полезных функций для выполнения именно этого. В вашем примере, если вы хотите объединить три соседних ведра вместе в каждой точке гистограммы, чтобы создать новую гистограмму с 1/3-м по величине ковшей, вы можете использовать функцию MergeBuckets.

install.packages("HistogramTools")
library(HistogramTools)
h <- hist(rexp(1000), breaks=60)
plot(MergeBuckets(h, adj.buckets=3))

В качестве альтернативы вы также можете указать список новых точек останова, которые вы хотите явно, вместо того, чтобы сообщать MergeBuckets(), чтобы всегда объединять одинаковое количество соседних ковшей. enter image description here