Это на самом деле "сложно". Как вы, вероятно, знаете, сам R имеет только два типа: 32-разрядное целое и 64-разрядное двойное.
Таким образом, чтобы представить 64-разрядные целые числа, Дженс проделал определенную работу в своем пакете bit64
, чтобы использовать двойноев качестве «носителя» для 64-разрядной полезной нагрузки и переопределения всех функциональных возможностей средства доступа, чтобы рассматривать его как 64-разрядное (подписанное) целое число. Это работает.
Несколько пакетов поддерживают его изначально, например data.table
. Я воспользовался этим, когда создал nanotime
- который использует 64-битные целые числа в наносекундах с той эпохи. Это также работает: мы никогда не конвертируем в удвоение и получаем точное представление целых чисел.
Я также следил за reticulate
в течение многих лет, и у него были очень похожие проблемы с конвертацией из 64-битных целых чисел (так какявляются родными для Python), к которым к настоящему времени обычно обращаются.
Короче говоря: ваш вопрос - скорее запрос функции для feather
. А поскольку те, кто сейчас занимается, сосредоточены на arrow
, который, похоже, поддерживает 64-битное целое число, вам, скорее всего, просто предложат перейти на arrow
. Или вы можете использовать data.table
.