Есть ли возможность в R заполнить гистограмму циклом?

#r #loops #histogram

#r #циклы #гистограмма

Вопрос:

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

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

Он попробовал hist-функцию и суммирование hist $ counts, однако бинирование продолжает меняться, что делает суммирование невозможным (для меня …)

Теперь я ищу soultion для последовательной обработки этих меньших векторов.

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

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

Ответ №1:

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

Ответ №2:

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

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

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

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