r - 将位向量写入R中最小大小的文件中

标签 r vector file-io boolean size

我有一个非常大的 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/

相关文章:

c++ - 我怎么知道在 C++ 中排序的 vector 是否有重复值

c++ - OpenCV 创建每行包含多个图像的矩阵

java - FileFilter/FilenameFilter 有什么好处

java - 从文件开头跳过字符

r - 根据 R 中的其他数字从大数据框中连续更改数字

R Markdown : Can't access Bash command installed through Conda/Anaconda

r - 在 DESeq2 PCA 上为不同的 geom_point 形状添加黑色轮廓

c++ - 我可以使用指针来遍历字符串数组吗?

Ruby 使用 StringIO 模拟一个文件

r - set.seed 与 R 2.15.2