目前有三种常用的转录组/单细胞数据保存方法,分别为Rdata,rds和qs。
在分析数据的时候最常规的保存方法是Rdata,这种方法可以把我们想保存的信息全部糅杂在一起变成同一个文件,在下次加载的时候一并加载出来就可以了,是初学者必学的保存数据类型。
但Rdata文件不能很个性化的修改名称,这时候如果不小心出现重名文件就会把上一次的文件给覆盖掉。因此选择rds格式的保存方式可以个性化的进行保存和读取文件,不用担心覆盖的情况,并且保存和读取速度也可能会(实际不一定!)比Rdata会快一些。
但进入单细胞分析时代之后,数据大小动不动就超过了20GB,上述两种方式读取和保存文件的时间变得非常的长,而且一套分析下来有可能占用存储空间会超过200GB。此时使用rdata或者rds格式的保存方式就会出现十分“心累”的情况。
那么在这个大数据分析的时代下,有没有更加适合的数据保存方式呢? 曾老师告诉我可以尝试使用qs的保存方式,这种方式可以在不损坏数据的前提下尽可能的压缩文件,并且同样的文件在保存和读取速度都比上述两种方式更快。
简单总结这三种方式的优缺点。
1. .Rdata
优点:
● 多对象保存:可以在一个 .Rdata 文件中保存多个 R 对象(如数据框、列表、模型等)。
● 兼容性好:这是 R 中最常用的文件格式之一,兼容性高,易于在不同 R 环境中使用。
● 加载灵活:加载 .Rdata 文件时,可以选择性地加载其中的某些对象,而不必加载所有对象。
缺点:
● 文件体积较大:相比其他格式,.Rdata 文件的体积可能较大,特别是当包含多个大型对象时。
● 加载速度慢:加载速度相对较慢,尤其是在保存了大量数据时。
2. .rds
优点:
● 单对象保存:专门用于保存单个 R 对象,更适合需要保存单一数据框或模型的场景。
● 文件体积较小:通常比 .Rdata 文件更小,因为 .rds 文件只保存一个对象,并且通过压缩减少文件大小。
● 加载速度较快:由于文件体积小,加载速度通常比 .Rdata快。
● 灵活性:可以用 readRDS() 加载对象,并赋值给任何变量名称,而不受保存时的对象名称限制。
缺点:
● 仅保存单个对象:只能保存单个对象,不适合需要同时保存多个对象的场景。
● 不包含变量名称:加载 .rds 文件时,必须显式地指定变量名,否则无法直接使用。
3. .qs
优点