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