第3章 由内而外释放R的力量
第1章介绍了大数据相关的一些常用术语和概念。第2章介绍了使用R语言及其统计环境常用的几种数据管理、处理和分析方法。在本章中,我们将合并这两个主题,尝试解释如何在大型数据集中使用数学和数据建模方面的强大的软件包,并且不需要分布式计算。读完本章后你将能做到以下几点。
1.了解 R在大数据分析方面的传统局限性以及如何解决它们。
2.使用R包(例如ff、ffbase、ffbase2和bigmemory)提高内存不足的性能问题。
3.使用biglm和ffbase包将统计方法用于大型R对象。
4.使用支持并行计算的R包提升数据处理的速度。
5.使用data.table包中的更快的数据处理方法。
只要有可能,本章介绍的方法都会带有真实的数据实例。例子中使用的数据集样本可以从Packt出版社的网站下载。当然,这些样本不足以被称为大数据。我们也提供了网址和在线服务用于下载完整的大数据集,你也可以自己挖掘并控制其大小。
3.1 R的传统局限性
情景通常很简单。你已经挖掘或者收集了大量的数据作为个人工作或大学研究的一部分,你很欣赏R语言的灵活性以及它不断增长的丰富并有用的开源库。那然后呢?用不了多久你就会发现R的两个传统局限。
1.数据必须装载到内存。
2.R 通常比其他语言运行得慢。
3.1.1 内存外的数据
使用R处理大数据首先要声明的是,想要处理的整个数据集必须比你能使用的内存小。目前,大多数商用、现售的个人电脑配备的内存大小为4GB~16GB,这就是你使用R分析的数据大小的上限。
当然,在这上限之中还需要扣除其他进程运行所需要的内存空间,并且为那些在R环境中运行的分析算法和计算提供额外的内存空间。实际上,你的数据大小不应超过可用内存的50%~60%,否则计算机就会变得迟缓、没有响应,甚至有潜在的数据丢失风险。 ...
Get R大数据分析实用指南 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.