第12章 数据操作
在前面的章节中,我们已经学习了连接不同类型数据库的方法,包括关系型数据库(SQLite 和 MySQL)和非关系型数据库(MongoDB 和 Redis)。关系型数据库通常以表格形式返回结果,非关系型数据库则可能支持嵌套数据结构和其他特性。
通常来说,即使数据已经被载入内存中,我们为数据分析所做的准备还远远不够。事实上,在进行任何统计建模和可视化之前,大部分数据仍需要花费大量的时间进行清洗和转换。在本章中,我们将学习用于数据操作的一系列内置函数和许多相关的扩展包。这些扩展包都非常强大。然而,为了能够更好地使用这些包,需要扎实地掌握前面章节所介绍的知识。
本章,我们会介绍以下主题:
- 使用基础函数操作数据框
- 通过
sqldf
包使用SQL查询数据框 - 使用
data.table
包操作数据 - 使用
dplyr
管道操作处理数据框 - 使用
rlist
包处理嵌套数据结构
12.1 使用内置函数操作数据框
我们已经学习了数据框的基础,这里回顾一下用于筛选数据框的内置函数。尽管数据框本质上是一个由向量构成的列表,由于各列长度相同,所以可以将其看作矩阵进行访问和操作。选择满足特定条件的行,需要为 [ ]
的第 1 个参数提供一个逻辑向量,第 2 个参数留空。
在R中,这些操作可以通过内置函数实现。本节会介绍一些非常有用的数据操作内置函数,这些函数可以将数据转换成建模或展示需要的形式。一些函数和技巧在前面的章节中已经展示过了。
本章的大部分代码都是基于一组产品的虚构数据。为了更好地处理列的类型,我们要使用 readr
包载入数据。如果尚未安装,请运行 install.packages("readr")
:
library(readr)
product_info <- read_csv("data/product-info.csv") ...
Get R编程学习指南 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.