将数字与写入整数写入R中的二进制文件

时间:2011-08-17 18:03:12

标签: r

我想使用writeBin将整数写入R中的二进制文件。如果我将它们表示为数字或整数,它会有所不同吗? (我希望有一个尽可能小的文件,但我不必使用size = ...作为参数。)R中是否有一个命令给出了表示类型的字节数?谢谢!

2 个答案:

答案 0 :(得分:1)

文档给出了大小(“整数”类型为4个字节,“数字”为8个字节)。您可以获得各种.Machine参数,包括.Machine $$ sizeof.long和.Machine $ integer.max,但我没有看到整数的“sizeof”值。

您也可以通过断言整数存储模式进行截断:

> x <- 23.5
> storage.mode(x) <- "integer"
> x
[1] 23

答案 1 :(得分:0)

在R中,整数使用4个字节,而双精度(数字)使用8个字节。

如果你有一个“数字”的向量,并且你想把它们写成整数,那么首先将它们强制转换成这样的整数:

x <- c(3,9,14) # These are actually doubles
writeBin(as.integer(x), "foo.bin") # Coerce to integers before writing!