我有一个非常大的 boolean 向量(例如 a=c(TRUE, TRUE,FALSE, FALSE) 但更大),并且希望将其存储在尽可能紧凑的文件中。最简单的方法是什么?
谢谢
最佳答案
作为linked question建议,使用 saveRDS
将生成的文件保存为二进制 rds
文件是最佳选择,前提是您只想将生成的文件与 R 一起使用,而不是任何其他程序。
如果您的向量没有任何缺失值,您可以将逻辑向量转换为位向量,这会占用一半的磁盘空间。 (它在工作区中使用的内存也更少。)
library(bit)
x <- runif(1e6) > 0.5
x2 <- as.bit(x)
saveRDS(x, "x.rds") # takes up 246kb
saveRDS(x2, "x2.rds") # takes up 123kb
如果您需要在其他程序中重用该变量,请选择该程序可以读取的格式! HDF5 是一种常见的紧凑格式,可能适合。
关于r - 将位向量写入R中最小大小的文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20045101/