《R语言数据分析》——1.2 文本文件编译测试平台-阿里云开发者社区

开发者社区> 华章计算机> 正文

《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包。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
VS2010无法保存项目文件(.csprj)的问题解决方法
VS2010无法保存项目文件(.csprj)的问题解决方法   【出错提示】保存项目文件“XXX”时出错。类没有注册。正在查找具有CLSID的对象:{D9B3211D-E57F-4426-AAEF-30A806ADD397}。
940 0
IDA反汇编/反编译静态分析iOS模拟器程序(二)加载文件与保存数据库
启动windows版的IDA,在Quickstart界面点击New,弹出一个对话框选择文件。也可以按取消后再把文件拖进IDA。由于Mac版的IDA没注册,没有save功能,所以只好先把Mac上的东西拷贝到windows再打开了。
1018 0
C# 通过form表单下载文本文件
public void DownLoadConfigFile(string name) { //获取文件字符串内容 var data = _service.
621 0
10059
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载