使用 R 中的 dplyr 探索数据

在进行数据科学项目时,数据通常是表格结构的。您可以使用 R 中内置的数据表来处理此类数据。您也可以使用著名的 dplyr 库来利用其丰富的工具集。在这篇文章中,您将学习 dplyr 如何帮助您探索和操作表格数据。具体来说,您将学习:

  • 如何处理数据框
  • 如何对数据框执行一些常见操作

让我们开始吧。

使用 R 中的 dplyr 探索数据。
图片来源:Airam Dato-on。保留部分权利。

概述

这篇文章分为两部分:

  • dplyr 入门
  • 探索数据集

dplyr 入门

R 中的 dplyr 库可以使用 R 命令行中的 `install.package("dplyr")` 命令安装。但通常安装 `tidyverse` 包会很有帮助,因为它是一些有用的数据科学包的集合。

在开始之前,您应该加载 dplyr 包,它将覆盖一些现有的 R 函数并添加新功能。

dplyr 库是一个强大的数据操作库。该库对称为数据框的表格结构数据进行操作。要从头开始创建数据框,您可以使用以下语法:

它提供了用于操作数据框的函数,称为“动词”。操作单个数据框的行的动词包括:

  • filter() 根据列值选择行
  • slice() 根据偏移量选择行
  • arrange() 根据列值对行进行排序

操作数据框列的动词包括:

  • select() 选择列的子集。
  • rename() 更改列的名称。
  • mutate() 更改列的值并创建新列。
  • relocate() 重新排列列。

此外,您还可以像 SQL 中一样运行分组操作:

  • group_by() 将表转换为分组表
  • ungroup() 将分组表展开为表
  • summarize() 将组折叠成单行。

探索数据集

让我们查看一个数据集,看看 dplyr 如何帮助我们理解数据。

您将要探索的数据集是波士顿房价数据集。您可以从互联网加载此数据集:

在 R 中,此数据集也可以从 MASS 库中以 `Boston` 的形式获得。

在这两种情况下,`as_tibble()` 函数用于将数据框封装成“tibble”,这使得大型表格能够很好地显示。两者的输出都将如下所示:

从中,您可以获得有关此数据集的一些基本信息:有 506 行和 14 列。显示了每列的名称及其数据类型(在本例中它们是双精度或整数)。您还可以看到数据的前 10 行。

然而,您可能会觉得这个输出仍然相当混乱。如果您只对列的子集感兴趣,可以使用 `select()` 函数,它以 SQL 中相同的操作命名:

上面的是获取数据框 `Boston` 并仅选择 `crim` 和 `medv` 列,然后将其显示为 tibble(这样我们就可以确定结果将具有与以前相同的行数)。运算符 `|>` 是 R 中一个特殊的运算符,表示左侧的输出由右侧的函数处理。这等效于以下内容:

但您发现它有用可能是因为它有助于您检验假设。这是一个房地产市场数据集。`crim` 列是犯罪率,`medv` 是房屋中值。您可能想知道犯罪率是否可以预测房屋价值。但直观地看,它们应该呈负相关。因此,让我们绘制房屋价值与犯罪率倒数的关系图:

这里您使用了多个 `|>` 运算符来连接多个操作。`mutate()` 函数可以帮助您定义一个新列(或修改现有列)。`plot()` 函数需要一个包含两列的数据框,它将生成一个散点图。此代码行将生成如下所示的图:

这似乎没有趋势。因此,您可能还想看看数据的某个部分是否能显示出趋势。例如,如果您只取 `age` 列大于 50 的子集。这正是 `filter()` 函数可以帮助的地方:

这些是 dplyr 提供的方便工具。在这个特定的数据集中,趋势并非如此随意就能发现。您应该寻找更高级的技术,但这些都是很好的起点。

除了可视化探索数据,您还可以对数据进行数值探索。处理数据框最简单的方法是使用 `summary()` 函数。

这适用于所有数值列。您应该会看到每列的基本统计数据,包括最大值、最小值、中位数、平均值等等。然而,有时您想查看不同列之间的相关性。例如,此数据集中的 `chas` 列表示位置是否靠近查尔斯河。它的值为 0 或 1。您可以使用 `group_by()` 来判断房屋价值与此类指标变量的关系:

`group_by()` 函数将数据框提升为组,其中每个组是 `chas` 列中具有相同值的行子集。然后 `summarize()` 函数创建一个新列,其值由每个组计算得出。

上述输出如下:

事实上,`summarize()` 函数可以在没有 `group_by()` 的情况下使用,但这将应用于整个数据框;因此输出将只有一行。

进一步阅读

本节为您提供了进一步学习上述材料的一些链接:

在线资料

书籍

总结

dplyr 库是一个强大的数据操作包。在这篇文章中,您了解了如何使用它来筛选、选择和汇总数据,以及这些工具如何帮助您探索数据集。具体来说,您学习了:

  • 使用 tibble 作为呈现缩写数据框的不同方式

    图片来源:Airam Dato-on。保留部分权利。

    已缩写的数据框

  • 如何按行和列操作表格数据
  • 如何对数据框执行分组操作并计算聚合值

暂无评论。

发表回复

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。