R语言 数据清理

R语言 数据清理

在这篇文章中,我们将简要介绍一下数据清洗的应用和它在R编程语言中的实现技术。

R语言中 的数据清理

数据清洗是将原始数据转化为易于分析的一致数据的过程。它的目的是根据数据以及它们的可靠性来过滤统计报表的内容。此外,它还会影响基于数据的统计报表,并提高你的数据质量和整体生产力。

数据清理的目的

以下是数据清理的各种目的。

  • 消除错误
  • 消除冗余
  • 提高数据的可靠性
  • 交付准确度
  • 确保连贯性
  • 确保完整性
  • 使你的方法标准化

一个典型的数据分析链的概述

本节介绍了一个典型的数据分析的概述。图中的每个矩形代表处于某种状态的数据,而每个箭头代表从一种状态到另一种状态所需的活动。第一个状态( 原始数据 )是数据进来时的状态。原始数据可能缺少标题,包含错误的数据类型,错误的类别标签,未知或意外的字符编码,等等。一旦进行了这种预处理,数据就可以被视为 技术上正确的数据。 也就是说,在这种状态下,数据可以被读入R的data.frame中,并具有正确的名称、类型和标签,而不会有进一步的麻烦。然而,这并不意味着这些值是没有错误的或完整的。 一致的数据 是数据准备好进行统计推理的阶段。它是大多数统计理论用来作为起点的数据。

R中的数据清理

如何在R中清理数据

在这里,这涉及到各种步骤,因为从最初的原始数据必须走向一致和高效的数据,这是我准备按照要求实现,并产生高度精确和准确的统计结果。这些步骤因数据而异,因为在这种情况下,用户应该了解他/她用于结果的日期。由于混乱的数据有许多特点和常见的症状,这完全取决于用户用于分析的数据。

清洁数据的特征包括数据是

  • 没有重复的行/值
  • 无错误(无拼写错误)
  • 相关(无特殊字符)
  • 适合于分析的数据类型
  • 无异常值(或只包含已被识别/理解的异常值)
  • 遵循一个 “整洁的数据 “结构

混乱数据的常见症状

  • 特殊字符(例如,数字值中的逗号)
  • 数值存储为文本/字符数据类型
  • 重复的行
  • 拼写错误
  • 不准确的地方
  • 空白
  • 缺少的数据
  • 零值而不是空值的情况不同。

让我们开始在R中实现数据清洗吧

为此,我们将使用R中的内置数据集(空气质量数据集)。

head(airquality)

输出

R中的数据清理

在上述数据集中,我们可以清楚地看到列内的NA值,这将产生错误或不产生机器学习模型的准确预测。

处理R中的缺失值

为了处理缺失值,我们将检查数据集的列,如果我们发现列内有一些缺失的数据,那么就会产生NA值作为输出,这对每个模型来说都不是好事。因此,让我们使用mean()方法来检查它。

mean(airquality$Solar.R)

输出

<NA>

检查另一列

mean(airquality$Ozone)

输出

<NA>

检查另一列

在这里,我们得到了Wind列的平均值,这意味着它在这一列中没有任何遗漏值。

mean(airquality$Wind)

输出

9.95751633986928

处理NA值

在两列中使用na.rm处理NA值。

mean(airquality$Solar.R, na.rm = TRUE)

输出

185.931506849315

同时对另一列进行同样的操作。

mean(airquality$Ozone, na.rm = TRUE)

输出

42.1293103448276

数据清理操作

在检查了数据集的摘要后,我们发现在两列(臭氧和Solar.R)中出现了NA的数字。

summary(airquality)

输出

R中的数据清理

我们可以用boxplot来清楚地看到不规则的数据。

boxplot(airquality)

输出

R中的数据清理

用is.na()方法去除不规则的数据。

New_df = airquality
  
New_dfOzone = ifelse(is.na(New_dfOzone), 
                      median(New_dfOzone,
                             na.rm = TRUE),
                      New_dfOzone)

输出

R中的数据清理

在另一列中执行相同的操作。

New_dfSolar.R = ifelse(is.na(New_dfSolar.R),
                        median(New_dfSolar.R, 
                               na.rm = TRUE),
                        New_dfSolar.R)

现在可以清楚地看到,我们没有任何使用汇总方法的不干净的数据。

summary(New_df)

输出

R中的数据清理

我们可以清楚地看到,我们的数据框架内没有任何丢失的数据。

head(New_df)

输出

R中的数据清理

现在我们的boxplot异常值也没有显示错误。

boxplot(New_df)

R中的数据清理

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程