我正在尝试减少数据集的内存占用,其中每列只有一小组因子(重复了很多次)。有没有更好的方法来最小化内存占用?作为对比,这是我仅使用因子时得到的结果:
library(pryr)
N <- 10 * 8
M <- 10
初始数据:
test <- data.frame(A = c(rep(strrep("A", M), N), rep(strrep("B", N), N)))
object_size(test)
# 1.95 kB
使用因子:
test2 <- as.factor(test$A)
object_size(test2)
# 1.33 kB
附言:我天真地认为他们用数字替换了字符串,但惊喜地发现test2
比test3
要小。有没有人可以向我指出如何优化因子表示的材料?
test3 <- data.frame(A = c(rep("1", N), rep("2", N)))
object_size(test3)
# 1.82 kB