パッケージを使用しbigmemory
て重いデータセットをロードしていますが、オブジェクトのサイズを (関数で) チェックすると、常に664 バイトobject.size
が返されます。私が理解している限り、重みは従来の R 行列とほぼ同じである必要がありますが、クラス (倍精度または整数) によって異なります。では、なぜ 664 バイトの回答が得られるのでしょうか。以下、再現可能なコード。最初のチャンクは非常に遅いので、シミュレートされる値の数を自由に減らしてください。(10^6 * 20) で十分です。
# CREATE BIG DATABASE -----------------------------------------------------
data <- as.data.frame(matrix(rnorm(6 * 10^6 * 20), ncol = 20))
write.table(data, file = "big-data.csv", sep = ",", row.names = FALSE)
format(object.size(data), units = "auto")
rm(list = ls())
# BIGMEMORY READ ----------------------------------------------------------
library(bigmemory)
ini <- Sys.time()
data <- read.big.matrix(file = "big-data.csv", header = TRUE, type = "double")
print(Sys.time() - ini)
print(object.size(data), units = "auto")