2

パッケージを使用し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")
4

1 に答える 1