#r #loops #histogram
#r #циклы #гистограмма
Вопрос:
В симуляции я создаю один очень большой вектор чисел, который я хочу отобразить на гистограмме. К сожалению, моя оперативная память не позволяет использовать векторы столько, сколько мне требуется. (10 ^ 10 записей)
Таким образом, я поместил свое моделирование в цикл, создающий несколько меньших векторов меньшей длины.
Он попробовал hist-функцию и суммирование hist $ counts, однако бинирование продолжает меняться, что делает суммирование невозможным (для меня …)
Теперь я ищу soultion для последовательной обработки этих меньших векторов.
- прочитайте первый вектор (из цикла)
- извлечение информации для гистограммы
- сохраните информацию о гистограмме 1-го, но удалите сам вектор в безопасную память
- сделайте это для всех других векторов и сохраните только гистограмму всех векторов.
- создайте одну гистограмму, где накопленная информация гистограммы суммируется до одного набора информации.
Кто-нибудь может помочь? Возможно ли это в R? Я застрял… Спасибо всем, кто нашел время прочитать это!
Ответ №1:
Ваша проблема, если я правильно понимаю, в том, что ячейки гистограммы меняются. Таким образом, естественным решением было бы исправить ячейки, используя breaks
параметр hist
функции. Для повышения производительности вы можете установить plot = FALSE
и просто собирать количество ячеек из каждой части.
Ответ №2:
Вы можете получить информацию, которая потребуется для гистограммы, с помощью функции count()
библиотеки dplyr.
Допустим, значения вектора чисел варьируются от 1 до 100. Сначала вы должны определить свои сегменты: 1-10, 11-20, …
Затем, внутри цикла и с меньшим вектором, используйте функцию cut()
с аргументами breaks =
для преобразования вашего числового вектора в категориальный вектор. Используйте count для подсчета количества значений в каждом сегменте.
В конце вашего цикла объедините все полученные значения.