R на MacOS Ошибка: исчерпанная память (предел достигнут?)

Я пытаюсь запустить R-скрипт (в частности, я использую функцию getLineages из пакета Bioconductor, Slingshot.

Я задаюсь вопросом, почему ошибка "исчерпана векторная память (предел достигнута?)" Появляется, когда я использую эту функцию, так как она, по-видимому, не самая интенсивная для памяти функция по сравнению с другими функциями в этом пакете (с данные, которые я анализирую).

Я понимаю, что в Stackoverflow есть другие вопросы, но все они предлагают перейти на 64-разрядную версию R. Однако я уже использую эту версию. Кажется, пока нет других ответов на этот вопрос, мне было интересно узнать кого-нибудь?

Данные только размером ~ 120 МБ, что намного меньше, чем мой компьютер 8 ГБ ОЗУ.

R 64 bit version

Ответы

Ответ 1

Для тех, кто использует Rstudio, я обнаружил, что настройка Sys.setenv('R_MAX_VSIZE'=32000000000), как было предложено для нескольких сообщений StackOverflow, работает только в командной строке, и что установка этого параметра при использовании Rstudio не препятствует этому ошибка:

Error: vector memory exhausted (limit reached?)

После прочтения я нашел эту ветку, которая проясняет проблему с Rstudio и определяет решение, показанное ниже:

Шаг 1: Откройте терминал,

Шаг 2:

cd ~
touch .Renviron
open .Renviron

Шаг 3: Сохраните следующее как первую строку .Renviron:

R_MAX_VSIZE=100Gb 

Примечание. Этот предел включает как физическую, так и виртуальную память; поэтому установка _MAX_VSIZE = 16 ГБ на машине с 16 ГБ физической памяти может не предотвратить эту ошибку. Возможно, вам придется поиграть с этим параметром, в зависимости от характеристик вашей машины