【问题标题】:How to Plot a Pre-Binned Histogram In R如何在 R 中绘制预分箱直方图
【发布时间】:2011-04-16 21:33:54
【问题描述】:

我有一个用于相当大数据集的预分箱频率表。也就是说,单列向量的 bin 和与这些 bin 关联的计数的单列向量。我希望 R 通过进一步分箱并对现有计数求和来绘制此数据的直方图。例如,如果在预分箱数据中我有类似 [(0.01, 5000), (0.02, 231), (0.03, 948)] 的东西,其中第一个数字是 bin,第二个是计数,我选择 0.04 作为新的 bin 宽度,我希望得到 [(0.04, 6179)]。在 R 中最快或最简单的方法是什么?

【问题讨论】:

    标签: r dataset histogram binning


    【解决方案1】:

    看起来 ggplot2 有答案。

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

    【讨论】:

    • 你很快;)我只是在查找我过去是如何做到这一点的。我看到了两种破解方法:1)ggplot2 和 2)从分箱数据中采样,然后重新分箱。我更喜欢 ggplot2,但重组是我在发现 ggplot 可以做到这一点之前编造的一个技巧。
    • 什么是'bin'对象?
    【解决方案2】:

    CRAN 上的新 HistogramTools 包有许多有用的功能可以做到这一点。在您的示例中,如果您想在直方图中的每个点将三个相邻的桶合并在一起以生成一个具有 1/3 桶的新直方图,您可以使用 MergeBuckets 函数。

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

    或者,您还可以明确指定所需的新断点列表,而不是告诉 MergeBuckets() 始终合并相同数量的相邻存储桶。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-23
      • 1970-01-01
      • 2021-10-29
      • 2022-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-22
      相关资源
      最近更新 更多