《R语言数据挖掘:实用项目解析》——第2章,第2.7节列联表、二元统计及数据正态性检验

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

本节书摘来自华章出版社《R语言数据挖掘:实用项目解析》一书中的第2章,第2.7节列联表、二元统计及数据正态性检验,作者[印度]普拉迪帕塔·米什拉(Pradeepta Mishra),更多章节内容可以访问云栖社区“华章计算机”公众号查看

2.7 列联表、二元统计及数据正态性检验
列联表是由两个或多个分类变量及每个分类所占比例构成的频率表。频率表展示的是一个分类变量,而列联表用来展示两个分类变量。
我们以Cars93数据集为例,来解读列联表、二元统计和数据正态性:


2219767de9ea12ad8b2e89e9f77ebc328402ddc3

前面已给出过汽车的两个分类变量AirBags和Type各自的频率表:


9d0228c79e34fcb747f5ce19d4a8e01f0a8f29bd


42d387f54383974a82aa750ec7b201c775bf6423

如上面的代码所示,conTable对象保存了两个变量的交叉表。每个单元的百分比显示在下列代码中。如果需要计算行百分比或列百分比,则需要指定相应参数的值:


c4af3c55d03c83c65e7f89132e6c3e7253790669

若要计算行百分比,则应将值设为1。若要计算列百分比,则应将值设为2。代码如下:


d3b2edd83c74df1654afc80fb77ef4923e12ce20

列联表的概览(summary)用于实现两个分类变量的独立性检验(卡方检验):


544c1e5669ee487fd786de33af6cf203b3037b4b

对所有因子的卡方独立性检验在之前讲过了。卡方近似值有可能因列联表中存在空值或少于5个值而不准确。在之前的例子中,对于汽车类型和安全气囊这两个随机变量,如果一个变量的概率分布不影响另一个变量的概率分布,则说明它们是独立的。对于卡方独立性检验的零假设是两个变量相互独立。因为此检验的p值小于0.05,我们有5%的显著性水平否定两个变量是独立的零假设。所以结论是汽车类型和安全气囊不是相互独立的,即它们相关或依赖。
如果不是两个变量,我们给列联表再加一维会怎么样?取Origin,列联表的代码会显示如下:


fa3ec442f71e950b53ab4eb515af4233ddd6bb77

对所有因子的独立性检验结果执行summay命令可检验零假设:


6446b3075584d57943b03b3eda54b0f4a99ae65d

除了之前讨论的绘图方法,R语言中还有一些数值统计检验可用于查看一个变量是否呈正态分布。有个名为norm.test的库可用于执行数据正态性检验,该库中一系列用于检验数据正态性的函数如下所示:


c9ea5c45f004d40c80987705845efe4b9e123520


198af8d3c0792ce04f7eed9952c9b426860f5bd1

我们来对Cars93数据集中的Price变量进行正态检验:


d2703f9708ed3ec3c1c76c1fc9bf38a6bb7dc70e

由以上的检验得知,因所有统计检验的p值都小于0.05,可知Price变量不是正态分布。如果给二元关系再增加一个维度,即变成多元分析。我们来试着理解一下Cars93数据集中马力(horsepower)和车长(length of car)之间的关系:


c0090b26a577fc8825c01ea4c95c41097af4366f

当纳入更多变量时,这就变成多元关系了。下面给出一个Cars93数据集中多变量之间多元关系的示意图:


1c0871ee965987df3ad906aef704f76a93a62a4c

有多种方法可作为参数传递给关联绘图。它们是"circle""square""ellipse""number"
"shade""color"和"pie"。

相关文章
|
4月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
5月前
|
存储 数据采集 数据处理
R语言数据变换:使用tidyr包进行高效数据整形的探索
【8月更文挑战第29天】`tidyr`包为R语言的数据整形提供了强大的工具。通过`pivot_longer()`、`pivot_wider()`、`separate()`和`unite()`等函数,我们可以轻松地将数据从一种格式转换为另一种格式,以满足不同的分析需求。掌握这些函数的使用,将大大提高我们处理和分析数据的效率。
|
4月前
R语言基于表格文件的数据绘制具有多个系列的柱状图与直方图
【9月更文挑战第9天】在R语言中,利用`ggplot2`包可绘制多系列柱状图与直方图。首先读取数据文件`data.csv`,加载`ggplot2`包后,使用`ggplot`函数指定轴与填充颜色,并通过`geom_bar`或`geom_histogram`绘图。参数如`stat`, `position`, `alpha`等可根据需要调整,实现不同系列的图表展示。
|
4月前
|
数据采集 数据可视化 数据挖掘
R语言在金融数据分析中的深度应用:探索数据背后的市场智慧
【9月更文挑战第1天】R语言在金融数据分析中展现出了强大的功能和广泛的应用前景。通过丰富的数据处理函数、强大的统计分析功能和优秀的可视化效果,R语言能够帮助金融机构深入挖掘数据价值,洞察市场动态。未来,随着金融数据的不断积累和技术的不断进步,R语言在金融数据分析中的应用将更加广泛和深入。
|
5月前
|
SQL 存储 算法
【数据挖掘】恒生金融有限公司2023届秋招数据ETL工程师笔试题解析
恒生科技2022年9月24号数据ETL工程师岗位的笔试题目及答案汇总,包括了SQL选择题、SQL编程题和业务应用SQL编程题,涵盖了数据库基础知识、SQL语句编写以及数据仓库概念等多个方面。
80 2
【数据挖掘】恒生金融有限公司2023届秋招数据ETL工程师笔试题解析
|
5月前
|
数据采集 机器学习/深度学习 数据挖掘
R语言数据清洗:高效处理缺失值与重复数据的策略
【8月更文挑战第29天】处理缺失值和重复数据是数据清洗中的基础而重要的步骤。在R语言中,我们拥有多种工具和方法来有效地应对这些问题。通过识别、删除或插补缺失值,以及删除重复数据,我们可以提高数据集的质量和可靠性,为后续的数据分析和建模工作打下坚实的基础。 需要注意的是,处理缺失值和重复数据时,我们应根据实际情况和数据特性选择合适的方法,并在处理过程中保持谨慎,以避免引入新的偏差或错误。
|
5月前
|
数据处理
R语言数据合并:掌握`merge`与`dplyr`中`join`的巧妙技巧
【8月更文挑战第29天】如果你已经在使用`dplyr`进行数据处理,那么推荐使用`dplyr::join`进行数据合并,因为它与`dplyr`的其他函数(如`filter()`、`select()`、`mutate()`等)无缝集成,能够提供更加流畅和一致的数据处理体验。如果你的代码中尚未使用`dplyr`,但想要尝试,那么`dplyr::join`将是一个很好的起点。
|
5月前
|
数据采集 存储 数据可视化
R语言时间序列分析:处理与建模时间序列数据的深度探索
【8月更文挑战第31天】R语言作为一款功能强大的数据分析工具,为处理时间序列数据提供了丰富的函数和包。从数据读取、预处理、建模到可视化,R语言都提供了灵活且强大的解决方案。然而,时间序列数据的处理和分析是一个复杂的过程,需要结合具体的应用场景和需求来选择合适的方法和模型。希望本文能为读者在R语言中进行时间序列分析提供一些有益的参考和启示。
|
5月前
|
SQL 数据挖掘 数据处理
R语言数据操作:使用dplyr进行数据处理的深度探索
【8月更文挑战第27天】`dplyr`包以其简洁、强大的数据处理能力,在R语言的数据分析领域占据了重要地位。通过`select()`、`filter()`、`arrange()`、`mutate()`和`summarise()`等核心函数,结合管道操作符`%>%`,我们可以轻松地完成数据筛选、排序、变换和汇总等操作。掌握`dplyr`的使用,将极大地提高我们在R语言中进行
|
5月前
|
机器学习/深度学习 安全 算法
【2023年第十一届泰迪杯数据挖掘挑战赛】A题:新冠疫情防控数据的分析 32页和40页论文及实现代码
本文总结了2023年第十一届泰迪杯数据挖掘挑战赛A题的新冠疫情防控数据分析,提供了32页和40页的论文以及实现代码,涉及密接者追踪、疫苗接种影响分析、重点场所管控以及疫情趋势研判等多个方面,运用了机器学习算法和SEIR传染病模型等方法。
98 0
【2023年第十一届泰迪杯数据挖掘挑战赛】A题:新冠疫情防控数据的分析 32页和40页论文及实现代码

推荐镜像

更多