《R语言数据分析》——1.2 文本文件编译测试平台

简介: 本节书摘来自华章出版社《R语言数据分析》一书中的第1章,第1.2节,作者盖尔盖伊·道罗齐(Gergely Daróczi),潘怡 译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。 1.2 文本文件编译测试平台 从平面文件处理和导入一定规模的数据集到R还可以使用data.table包。

本节书摘来自华章出版社《R语言数据分析》一书中的第1章,第1.2节,作者盖尔盖伊·道罗齐(Gergely Daróczi),潘怡 译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.2 文本文件编译测试平台

从平面文件处理和导入一定规模的数据集到R还可以使用data.table包。该开发包语法格式与传统基于S的R语言不同,它也拥有大量的参考文档、页面以及针对各类数据库行为设计的令人印象深刻的优化操作的案例。我们将在本书第3章以及第4章中讨论类似应用和案例。

它提供了一个经用户优化后的R函数来处理文本文件:

QQ_20170525095823

相对之前的样例,数据的导入速度非常快,算法的处理结果存放在特定的data.table类中,如果有必要可以将其转换成传统的data.frame类型:

QQ_20170525095827

或者使用setDF函数,该函数也提供了非常快速和恰当的对象转换方法,这种转换并不需要将数据先复制到内存中。同样,也需要注意:

QQ_20170525095832

以上操作意味着data.table对象可以被当作data.frame类型并采用传统方式对其进行处理。保持导入的数据格式不变还是将其转换为data.frame类型要依据之后具体操作要求而确定。数据的聚集、合并和重构使用data.table格式的对象,其操作速度要比使用数据框这一标准的R数据格式更快。另外,用户也需要了解data.table的数据格式语法,例如,DT[i, j, by]表示告诉R“用i来选出行的子集,并计算通过by来分组的j”,我们将在第3章讨论相关语法。

现在,让我们比较一下之前提到的这些数据导入方法,到底它们有多快?最终的赢家看起来应该是data.table包中的fread函数。我们将通过设计下列测试函数来确定一些待测试的方法:

QQ_20170525095836

现在,为了节约一些时间,我们将以上这些函数各运行10次,而不是像之前进行数百次的迭代操作:

QQ_20170525095841

然后,按规定字体大小输出测试结果:

QQ_20170525095844

注意,这里我们处理的数据集大小都没超过实际物理内存,其中一些开发包被设计为能够处理大规模的数据集。这意味着,如果对read.table进行优化,能够获得比默认配置更好的处理性能。因此,如果要快速导入规模合适的数据集,推荐使用data.table包。

相关文章
|
9天前
|
机器学习/深度学习 并行计算 数据挖掘
R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域
【10月更文挑战第21天】R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域。本文将介绍R语言中的一些高级编程技巧,包括函数式编程、向量化运算、字符串处理、循环和条件语句、异常处理和性能优化等方面,以帮助读者更好地掌握R语言的编程技巧,提高数据分析的效率。
27 2
|
9天前
|
数据采集 数据可视化 数据挖掘
R语言与Python:比较两种数据分析工具
R语言和Python是目前最流行的两种数据分析工具。本文将对这两种工具进行比较,包括它们的历史、特点、应用场景、社区支持、学习资源、性能等方面,以帮助读者更好地了解和选择适合自己的数据分析工具。
16 2
|
6月前
|
监控 安全 数据可视化
R语言在员工上网行为监控中的数据分析
本文讲述了如何使用R语言分析员工上网行为以提升企业网络安全。通过收集网络流量和访问记录数据,利用R进行读取、分析和可视化,例如查看访问时长分布和热门网站。此外,文中还介绍了一个自动将监控数据提交到网站的R脚本,通过定时任务实现数据的持续更新和管理,及时发现并应对安全风险,增强网络安全性。
302 3
|
6月前
|
Java
PTA帅到没朋友(Java语言)+测试点
PTA帅到没朋友(Java语言)+测试点
63 1
|
2月前
|
数据采集 算法 搜索推荐
R语言营销数据分析:使用R进行客户分群的实践探索
【9月更文挑战第1天】R语言以其强大的数据处理和统计分析能力,在金融数据分析、营销数据分析等多个领域发挥着重要作用。通过R语言进行客户分群,企业可以更好地理解客户需求,制定精准的营销策略,提升市场竞争力和客户满意度。未来,随着大数据和人工智能技术的不断发展,R语言在营销数据分析中的应用将更加广泛和深入。
|
6月前
|
数据可视化 前端开发 数据挖掘
R语言对综合社会调查GSS数据进行自举法bootstrap统计推断、假设检验、探索性数据分析可视化|数据分享(上)
R语言对综合社会调查GSS数据进行自举法bootstrap统计推断、假设检验、探索性数据分析可视化|数据分享
|
3月前
|
测试技术 开发工具 Python
在Jetson Nano上编译 pyrealsense2库包,并在Intel的tof相机上进行测试
在Jetson Nano上编译 pyrealsense2库包,并在Intel的tof相机上进行测试
106 0
|
4月前
|
测试技术 Shell Go
Golang质量生态建设问题之Go语言的单元测试的问题如何解决
Golang质量生态建设问题之Go语言的单元测试的问题如何解决
|
6月前
|
IDE 测试技术 Go
【字节跳动青训营】后端笔记整理-3 | Go语言工程实践之测试
用于验证已经修改或新增功能后,软件的既有功能是否受到影响。
117 2
|
6月前
|
机器学习/深度学习 数据挖掘 计算机视觉
R语言中的神经网络预测时间序列:多层感知器(MLP)和极限学习机(ELM)数据分析报告
R语言中的神经网络预测时间序列:多层感知器(MLP)和极限学习机(ELM)数据分析报告