Запись числа против записи целого числа в двоичный файл в R - PullRequest
0 голосов
/ 17 августа 2011

Я хочу записать целые числа в двоичный файл в R, используя writeBin.Имеет ли значение, если я представляю их как числа или как целые числа?(Я хочу, чтобы файл был как можно меньшего размера, но мне не нужно использовать размер = ... в качестве параметра.) Есть ли в R команда, которая дает число байтов, в которых представлен тип?Спасибо!

Ответы [ 2 ]

1 голос
/ 17 августа 2011

В документации приведены размеры (4 байта для «целочисленного» типа и 8 байтов для «числового»).Вы можете получить различные .Machine параметры, включая .Machine $$ sizeof.long и .Machine $ integer.max, но я не вижу значения "sizeof" для целого числа.

Вы также можете выполнить усечение, установив целочисленный режим хранения:

> x <- 23.5
> storage.mode(x) <- "integer"
> x
[1] 23
0 голосов
/ 17 августа 2011

В R целые числа используют 4 байта, а двойные числа (числа) используют 8 байтов.

Если у вас есть вектор чисел, и вы хотите записать их как целые числа, то сначала приведите их к целым числамкак это:

x <- c(3,9,14) # These are actually doubles
writeBin(as.integer(x), "foo.bin") # Coerce to integers before writing!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...