G.2 在内存外存储数据
有好几个包可以将数据保存到R的主内存之外。主要的方法是将数据保存到外部数据库中,或是硬盘上的二进制文件中,然后再按需要访问其中的某个部分。表G-1中列出了一些有用的包。 表G-1 用于访问大型数据集的R包
包 | 描 述 |
---|---|
ff | 提供了一种数据结构,可以将数据保存到硬盘上,但用起来却像是在内存中 |
bigmemory | 支持大型矩阵的创建、存储、访问和操作。矩阵可以分配在共享内存和内存映射文件中 |
filehash | 实现了一个简单的key-value数据库,用字符串的键值关联到硬盘上存储的数据值 |
ncdf 、ncdf4 | 提供了Unidate netCDF数据文件的接口 |
RODBC 、RMySQL 、ROracle 、RPostgreSQL 、RSQLite | 这些包每一个都可用于访问相应的外部关系型数据库管理系统 |
上面介绍的这些包都可用于解决R在保存数据时的内存限制问题。不过,在分析大数据时,还需要专门的方法以在可接受的时间内完成分析。下面会介绍其中最有用的一些。