Есть ли в R возможность заполнить гистограмму циклом? - PullRequest
0 голосов
/ 25 марта 2019

В симуляции я создаю один очень большой вектор чисел, который я хочу показать на гистограмме. К сожалению, в моей оперативной памяти нет векторов, пока я их требую. (10 ^ 10 записей)

Таким образом, я поместил моё моделирование в цикл, производящий несколько меньших векторов меньшей длины.

Он попробовал функцию исторических и суммирования значений в $ $, однако биннинг продолжает меняться, что делает суммирование невозможным (для меня ...)

Теперь, я ищу душу, чтобы последовательно обрабатывать эти меньшие векторы.

  1. чтение вектора первого (из цикла)
  2. извлечение информации для гистограммы
  3. сохраняет информацию гистограммы 1-го, но сбрасывает сам вектор в безопасную память
  4. сделайте это для всех остальных векторов и сохраните только гистограмму всех векторов.
  5. построить одну гистограмму, где накопленная информация гистограммы добавляется к одному набору информации.

Может кто-нибудь помочь? Это возможно в R? Я застрял ... Спасибо всем, кто нашел время, чтобы прочитать это!

Ответы [ 2 ]

2 голосов
/ 25 марта 2019

Ваша проблема, если я правильно понимаю, состоит в том, что ячейки гистограммы меняются. Поэтому естественным решением было бы исправить ячейки с помощью параметра breaks функции hist. Для лучшей производительности вы можете установить plot = FALSE и просто собрать количество бинов для каждой части.

0 голосов
/ 25 марта 2019

Вы можете получить информацию, которая потребуется гистограмме, с помощью функции count() библиотеки dplyr .

Допустим, значения вектора чисел варьируются от 1 до 100. Сначала вы должны определить свои сегменты: 1-10, 11-20, ...

Затем, внутри цикла и с меньшим вектором, используйте функцию cut() с аргументами breaks =, чтобы преобразовать ваш числовой вектор в категориальный вектор. Используйте count для подсчета количества значений в каждом сегменте.

В конце цикла объедините все полученные значения.

...