Setalloccol - это экспериментальная команда в data.table, используемая для выделения памяти по ссылке, чтобы гарантировать, что что-то более стабильное, чем мелкая копия, выделяется с помощью ': ='. «Expss» выглядит как библиотека монстров. Я не буду загружать его сейчас и выследить вашу ошибку. Но поскольку setalloccol - экспериментальная команда, вы должны найти разработчиков expss и сообщить о дефекте. Однако здесь уже есть полный отчет об ошибке по этому конкретному вопросу: https://github.com/gdemin/expss/issues/42. Разработчик data.table ("Matt Dowle") комментирует это сообщение об ошибке. На практике setalloccol работает следующим образом:
help(setalloccol)
data.table::truelength(HMR)
[1] 1035
options(datatable.verbose=TRUE)
data.table::setalloccol(HMR,2 * 1035)
data.table::truelength(HMR)
[1] 2081
Но в действительности это не требуется для большинства вычислений в формате data.table. Попробуйте добавить код "expss" и выяснить, почему и когда они его используют. Извините, я не более полезен.