Ошибка в приведении больших векторов? - PullRequest
0 голосов
/ 25 апреля 2018

Я только что установил R версии 3.5.0 и согласно этой статье о Revolution Analytics существует новое внутреннее представление векторов .

Когда я делаю следующее, я либо ничего не получаю (см. Следующий пример), либо весь компьютер зависает навсегда:

> x <- 1:1e9
> c(x, "a")
>

Так что, похоже, отсутствует какая-то подпрограмма, которая в таких случаях улавливает ошибку переполнения (или, по крайней мере, выдает предупреждение).

Мой вопрос
Это воспроизводимая ошибка?

1 Ответ

0 голосов
/ 25 апреля 2018

Эта же последовательность операторов приводит к тому, что R (по-видимому) зависает и в 3.4.x. Вы создаете символьный объект, который требует не менее 8 ГБ ОЗУ, что может занять некоторое время, если оно вообще завершится.

На R 3.4.3 я получаю сообщение «Ошибка: невозможно выделить вектор размером 7,5 ГБ», что я ожидаю. На R 3.5.0 сообщение «не может выделить вектор размером 128.0Mb». Размер неверен: R 3.5.0 все еще пытается создать объект 8Gb здесь. Но ожидание и окончательный провал не удивляют.

Ваше утверждение работает должным образом для объектов меньшего размера.

...