2011-08-17 85 views
-2

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

+2

这个问题是不是由http://stackoverflow.com有什么不同/ q/7016122/602276或http://stackoverflow.com/q/7016122/602276? – Andrie

+0

或者这一个:http://stackoverflow.com/q/7031400/602276? (对第一条评论中的重复链接抱歉。) – Andrie

+2

是啊,艾米,你应该尝试使用相同的帐户,而不是每次都创建一个新的帐户。当你得到一个有用的答案,接受它通过点击附近的数字(或者编辑问题来解释为什么答案不适合你)。 – Tommy

回答

1

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

也可以通过断言整数存储模式做截断:

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

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

如果您有“数字”的载体,并想将它们写为整数,然后第一次强迫他们以这样的整数:

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