R中是否有可能用循环填充直方图?

时间:2019-03-25 18:47:17

标签: r loops histogram

在模拟中,我产生一个非常大的数字向量,我想在直方图中显示。不幸的是,只要我要求矢量,我的RAM就不允许使用矢量。 (10 ^ 10个条目)

因此,我将仿真放在一个循环中,该循环产生几个较短长度的较小矢量。

它尝试了hist函数和hist $ counts的求和,但是分箱不断变化,这使得求和不可能(对我来说...)

现在,我搜索了一个逐级处理这些较小向量的小工具。

  1. (从循环中)读取第一向量
  2. 提取直方图的信息
  3. 保留第一个直方图信息,但将向量本身丢弃到安全存储器中
  4. 对所有其他向量执行此操作,并仅存储所有向量的直方图。
  5. 构建一个直方图,其中将累积的直方图信息添加到一组信息中。

有人可以帮忙吗?在R中这可能吗?我被困住了……感谢所有花时间阅读本文的人!

2 个答案:

答案 0 :(得分:2)

如果我理解正确,则您的问题是直方图箱正在更改。因此,自然的解决方案是使用breaks函数的hist参数修复垃圾箱。为了获得更好的性能,您可以设置plot = FALSE并只收集每个零件的箱数。

答案 1 :(得分:0)

您可以通过库 dplyr 的函数count()获得直方图所需的信息。

让我们说数字向量的值范围是1到100。首先,您必须定义存储桶:1-10、11-20,...

然后,在循环内并使用较小的向量,将函数cut()与参数breaks =一起使用,以将数字向量转换为分类向量。使用count来计数每个存储桶中的值数。

在循环结束时,合并所有获得的计数。