我有一个用于相当大的数据集的预分类频率表。也就是说,箱的单列矢量和与这些箱相关的计数的单列矢量。我希望R通过进一步分箱和对现有计数求和来绘制这些数据的直方图。例如,如果在预分箱数据中我有类似[(0.01,5000),(0.02,231),(0.03,948)]的东西,其中第一个数字是bin,第二个是数字,而我选择0.04作为新的bin宽度,我期望得到[(0.04,6179)]。 R中最快或最简单的方法是什么?
答案 0 :(得分:6)
看起来ggplot2有答案。
library(ggplot2)
qplot(bin, data=cbind(bins,counts), weight=counts, geom="histogram")
答案 1 :(得分:1)
CRAN上的新HistogramTools软件包具有许多有用的功能来完成此操作。在您的示例中,如果要在直方图中的每个点合并三个相邻的桶以生成具有1/3桶的新直方图,则可以使用MergeBuckets
函数。
install.packages("HistogramTools")
library(HistogramTools)
h <- hist(rexp(1000), breaks=60)
plot(MergeBuckets(h, adj.buckets=3))
或者,您也可以明确指定所需的新断点列表,而不是告诉MergeBuckets()始终合并相同数量的相邻存储桶。