【发布时间】:2016-06-24 22:04:13
【问题描述】:
我正在使用bigmemory 包加载繁重的数据集,但是当我检查对象的大小时(使用函数object.size),它总是返回664 字节。据我了解,权重应该与经典的 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")
【问题讨论】:
标签: r r-bigmemory