《R语言数据分析》——3.4 汇总函数

简介:

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

3.4 汇总函数

正如我们之前讨论过的一样,所有聚集函数都能对数据子集应用任意合法的R函数。一些R开发包为用户提供了非常方便的实现,而有少部分函数也确实要求读者要理解整个开发包的内容、特定的语法格式以及参数调优方法。

以上这些内容更深入的讨论,请参考本书第4章,以及后面的附录部分。

现在,我们将专注于简单的汇总函数,这些内容在一般的数据分析对象中应用非常普遍,例如,计算每个分组的案例数目。下面的样例也会对本章介绍的替代方法的差异进行特别说明。

统计子分组样例数

现在,让我们再把目光移向plyr、dplyr和data.table,读者应该已经掌握了构建aggregate和tapply函数的方法。有了前面的实践基础,接下来的任务看起来相当容易:这次不需要调用mean函数,而是使用length函数来返回Diverted列元素个数:

QQ_20170525134837

现在我们已经清楚周六从休斯顿出发的航班相对较少,那么我们真的有必要对这样一个简单的问题给出这样的回答?另外,我们还需要给样例个数变量进行命名吗?结果是已知的:

QQ_20170525134841
QQ_20170525134847

简而言之,不必从data.frame选择一个变量来获取它的长度,因为查询数据子集的行数更简单也更快。

当然,我们还可以找到更简单和更快的方法来获得同样的结果。也许,读者们早已想到要使用基本的table函数来执行这样一个简单的任务:

QQ_20170525134853

使用这个方法唯一的问题就是我们还需要对结果进行转换,例如大多数情况下是转换成data.frame。plyr包也早已实现了一个辅助函数来完成这个任务,函数的名字非常直观:

QQ_20170525134858

我们在结束的时候给出了一些非常简单的数据统计样例,不过仍有必要介绍如何使用dplyr对表格进行汇总。如果读者仅仅想修改之前dplyr命令,马上就会发现我们前面在plyr包中改变length或nrow函数的方法在这里行不通。StackOverf?low给出的一些说明指出我们需要使用一个名为n的辅助函数:

QQ_20170525134903

不过,老实说,我们真的有必要使用这样一种相对复杂的方法吗?如果读者们还记得hflights_DayOfWeek的结构,就马上会想到另外一种查询航班数的更简单和更快的方法:

QQ_20170525134907

为了确保我们还没忘记data.table的特定(美观的)语法,我们可以使用另外一个辅助函数来计算结果:

QQ_20170525134910

相关文章
|
监控 安全 数据可视化
R语言在员工上网行为监控中的数据分析
本文讲述了如何使用R语言分析员工上网行为以提升企业网络安全。通过收集网络流量和访问记录数据,利用R进行读取、分析和可视化,例如查看访问时长分布和热门网站。此外,文中还介绍了一个自动将监控数据提交到网站的R脚本,通过定时任务实现数据的持续更新和管理,及时发现并应对安全风险,增强网络安全性。
501 3
|
SQL 数据可视化 IDE
SQL做数据分析的困境,查询语言无法回答的真相
SQL 在简单数据分析任务中表现良好,但面对复杂需求时显得力不从心。例如,统计新用户第二天的留存率或连续活跃用户的计算,SQL 需要嵌套子查询和复杂关联,代码冗长难懂。Python 虽更灵活,但仍需变通思路,复杂度较高。相比之下,SPL(Structured Process Language)语法简洁、支持有序计算和分组子集保留,具备强大的交互性和调试功能,适合处理复杂的深度数据分析任务。SPL 已开源免费,是数据分析师的更好选择。
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
425 3
|
机器学习/深度学习 并行计算 数据挖掘
R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域
【10月更文挑战第21天】R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域。本文将介绍R语言中的一些高级编程技巧,包括函数式编程、向量化运算、字符串处理、循环和条件语句、异常处理和性能优化等方面,以帮助读者更好地掌握R语言的编程技巧,提高数据分析的效率。
379 2
|
数据采集 数据可视化 数据挖掘
R语言与Python:比较两种数据分析工具
R语言和Python是目前最流行的两种数据分析工具。本文将对这两种工具进行比较,包括它们的历史、特点、应用场景、社区支持、学习资源、性能等方面,以帮助读者更好地了解和选择适合自己的数据分析工具。
577 2
|
数据采集 算法 搜索推荐
R语言营销数据分析:使用R进行客户分群的实践探索
【9月更文挑战第1天】R语言以其强大的数据处理和统计分析能力,在金融数据分析、营销数据分析等多个领域发挥着重要作用。通过R语言进行客户分群,企业可以更好地理解客户需求,制定精准的营销策略,提升市场竞争力和客户满意度。未来,随着大数据和人工智能技术的不断发展,R语言在营销数据分析中的应用将更加广泛和深入。
|
机器学习/深度学习 数据可视化 数据挖掘
为啥我敢说Python是数据分析界的扛把子语言?
为啥我敢说Python是数据分析界的扛把子语言?
229 1
|
数据可视化 数据挖掘 数据处理
R语言函数与自定义函数:提高代码的复用性
【8月更文挑战第27天】 自定义函数是R语言编程中不可或缺的一部分,它们通过封装复杂的逻辑和提供灵活的参数化设计,极大地提高了代码的复用性和可维护性。通过掌握自定义函数的基本语法和高级技巧,我们可以编写出更加高效、可读的R语言代码,从而更好地应对复杂的数据分析和统计建模任务。
|
SQL 数据可视化 数据挖掘
SQL 在数据分析中简直太牛啦!从数据提取到可视化,带你领略强大数据库语言的神奇魅力!
【8月更文挑战第31天】在数据驱动时代,SQL(Structured Query Language)作为强大的数据库查询语言,在数据分析中扮演着关键角色。它不仅能够高效准确地提取所需数据,还能通过丰富的函数和操作符对数据进行清洗与转换,确保其适用于进一步分析。借助 SQL 的聚合、分组及排序功能,用户可以从多角度深入分析数据,为企业决策提供有力支持。尽管 SQL 本身不支持数据可视化,但其查询结果可轻松导出至 Excel、Python、R 等工具中进行可视化处理,帮助用户更直观地理解数据。掌握 SQL 可显著提升数据分析效率,助力挖掘数据价值。
749 0
|
机器学习/深度学习 数据挖掘 计算机视觉
R语言中的神经网络预测时间序列:多层感知器(MLP)和极限学习机(ELM)数据分析报告
R语言中的神经网络预测时间序列:多层感知器(MLP)和极限学习机(ELM)数据分析报告