2011-08-17 68 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!