《数据科学:R语言实现》——3.11 检测缺失数据

简介:
+关注继续查看

本节书摘来自华章计算机《数据科学:R语言实现》一书中的第3章,第3.11节,作者 丘祐玮(David Chiu),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.11 检测缺失数据

缺失数据背后有许多原因。例如,可能是由于录入或者数据处理过程中的瑕疵导致的。然而,如果数据分析过程使用了缺失数据,分析的结果可能有误导性。因此,在做进一步分析之前,检测缺失数据尤为重要。

准备工作

按照3.3节“转换数据类型”教程,把导入数据的每个属性转换成合适的数据类型。同时按照3.2节“重命名数据变量”中的步骤,命名employees和salaries数据集的列名。

实现步骤

执行下列步骤,检测缺失数据。

1.首先,我们把to_date属性设置一个超过2100-01-01的日期:
image

2.然后,把超过2100-01-01的日期变成缺失值:
image

3.接着,我们可以使用函数is.na找出哪一行包含缺失值:
image

4.我们也可以使用函数sum对to_date中的缺失值计数:
image

5.并且,我们可以计算缺失值的比例:
image

6.如果你想知道每一列中的缺失值比例,我们可以使用函数sapply:

image

7.我们可以安装加载Amelia程序包:
image

8.使用函数missmap绘制缺失值地图:
image

你会看到以下图形,如图1所示。

运行原理

在R中,缺失值经常使用NA标记出来,意思是不适用(not available)。大部分函数(例如mean或sum)在遇到数据集中的NA值时,会输出NA。尽管我们可以指定一个参数,例如na.rm,来移除NA的影响,但是最好还是在数据集中估计或移除缺失值,以避免缺失值带来的深远影响。

在本教程中,我们首先找出2100-01-01之后的数据记录。由于一个人的工资不可能在2100-01-01之后支付,我们可以把这些日期值看成是录入或者系统错误而导致的。因此,我们可以首先把这些值指定成缺失值(用NA表示)。然后,我们可以使用内置函数,搜索数据内部的缺失值。

image

为了找到数据集中的缺失值,我们首先对所有NA值个数加和,除以每个属性里的数值个数,然后借助sapply计算所有属性中的缺失值。

并且,为了使用表格展示计算结果,我们可以使用Amelia程序包,在一个图中绘制每个属性的缺失值地图。缺失值的可视化可以让用户更好地理解每个数据集的缺失比例。从图1中我们可以看出,1985包含的缺失值最多。

更多技能

对于缺失值处理,我们介绍了使用Amelia来可视化缺失值。除了在控制台输入命令,我们也可以使用Amelia的交互式GUI,AmeliaView。

要运行AmeliaView,只需在R控制台键入AmeliaView():
image

你会看到下列窗口,如图2所示。

相关文章
|
28天前
|
搜索推荐 Linux Python
VET:一个基于R语言的VCF数据提取工具,支持按基因ID、物理位置、样品名称提取指定变异信息
VET:一个基于R语言的VCF数据提取工具,支持按基因ID、物理位置、样品名称提取指定变异信息
|
29天前
|
数据挖掘 Linux Python
R语言中实现多维数据交并补集合运算,利用tidyverse系列包,intersect、union、setdiff
R语言中实现多维数据交并补集合运算,利用tidyverse系列包,intersect、union、setdiff
R语言中实现多维数据交并补集合运算,利用tidyverse系列包,intersect、union、setdiff
|
29天前
|
数据挖掘 Linux 数据处理
R语言笔记丨数据的创建和转换
R语言笔记丨数据的创建和转换
R语言笔记丨数据的创建和转换
|
29天前
|
数据挖掘
R语言笔记丨数据的合并、拆分、整合
R语言笔记丨数据的合并、拆分、整合
|
1月前
|
机器学习/深度学习 分布式计算 并行计算
探索UCI心脏病数据:利用R语言和h2o深度学习构建预测模型
本文的研究目的是基于UCI心脏病数据集[1],利用R语言和h2o深度学习框架构建一个预测模型,旨在准确预测个体患心脏病的风险。通过使用该模型,医疗专业人员可以更好地进行早期干预和预防措施,从而提高患者的生活质量和健康状况。
71 0
|
1月前
|
数据采集 数据可视化 数据挖掘
使用R语言绘制富集条形图,轻松分析基因表达数据
为了实现富集分析和绘制富集条形图,我们可以使用R语言。R语言是一种免费开源的编程语言和软件环境,用于统计计算,绘制图表和数据分析。它在大量生物信息学数据分析中得到应用,并成为当前技术最前沿的生物信息学研究领域。如此优势的R语言支持,是进行富集分析和富集条形图的理想之选。
70 0
|
1月前
|
数据采集 机器学习/深度学习 人工智能
数据清洗、数据处理入门!R语言我来了,数据不再零散!
「数据清洗」和「预处理」是数据科学中必不可少的一部分,它们能够帮助我们准确地分析和预测未来趋势。如果你曾经尝试过进行分析或建模,你会发现数据往往不像我们所想象的那样干净、整洁。需要对数据进行仔细的检查、清理和处理,才能真正把数据转变成有用的信息。
37 0
|
1月前
|
存储 数据采集 数据可视化
如何用R语言分析COVID-19相关数据
COVID-19是当前全球面临的一项重大挑战。 本文将介绍如何使用R语言分析COVID-19相关数据,探索其感染率、死亡率和人口特征的相关性,以及使用统计建模方法预测COVID-19的死亡率。
25 0
|
3月前
R语言-创建空数据框(Empty Data Frame )用于追加数据
本文分享了如何在R语言通过创建空数据框来实现追加数据的简单实现方法,以供参考
196 0
|
3月前
|
存储 移动开发 关系型数据库
R语言-rhdf5解析hdf5文件(.h5)展示文件组织结构和数据索引实现
本文简单示例了在R语言如何使用 `rhdf5` 软件包解析 .h5 文件的代码过程
129 0
热门文章
最新文章
推荐文章
更多