首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

快速掌握R语言中类SQL数据库操作技巧

在数据分析中,往往会遇到各种复杂的数据处理操作:分组、排序、过滤、转置、填充、移动、合并、分裂、去重、找重、填充等操作。这时候R语言就是一个很好的选择:R可以高效地、优雅地解决数据处理操作。(本章节为R语言入门第二部分总结篇:数据操作)

本章内容布局思路:思来想后,想到SQL查询的查询思路可以作为本章节的布局思路

1.了解表结构/数据结构

2.对表中的一些数据做出修改、替换、甚至生成新字段

3.from:数据合并/连接

4.where:条件筛选/过滤

5.group:分组

6.having和select:呈现不明显

7.order:排序

8.其他补充

目录

1. 初识R语言支持的数据类型

1.1 向量 Vector : c()

1.2 矩阵 Matrix: matrix()

1.3 数据框 DataFrame: data.frame()

1.4 时间序列 XTS: xts()

1.5 因子Factor:factor(补充)

2.查看数据概况

summary()和str()

3.修改/替换/重定义数据

4.数据合并

3.1 向量合并

3.2 cbind列合并(等长)

3.3 rbind行合并

3.4 merge

3.5 补充:集合操作

4.过滤/筛选

4.1 缺失值处理

4.2 数据增减

4.3 数值分段cut

5.分组操作

5.1 aggregate语法

5.2 aggregate分组计算

5.3 aggregate分组计算(formula形式)

6. 排序order

7. 计数table

8. 分裂split

9. 去重与找重unique

10.转置

1. 初识R语言支持的数据类型

开始之前,需要先了解一下R语言支持的数据类型,以及这些常用类型的特点。以下4种类型是最常用的:向量、矩阵、数据框、时间序列。

可参考

R语言|第2讲:生成数据

R语言快速入门:数据结构+生成数据+数据引用+读取外部数据

向量 Vector : c()

矩阵 Matrix: matrix()

数据框 DataFrame: data.frame()

时间序列 XTS: xts()

因子Factor:factor(补充)

(图片来自于粉丝日志)

1.1 向量 Vector : c()

1.2 矩阵 Matrix: matrix()

1.3 数据框 DataFrame: data.frame()

1.4 时间序列 XTS: xts()

关于xts类型的详细介绍,请参考文章《可扩展的时间序列xts》http://blog.fens.me/r-xts/

1.5 因子Factor:factor(补充)

可以理解为分类变量

2.查看数据概况

在R中查看数据概况的函数常用summary()和str()。

其中,summary更多的是描述统计,返回:最大最小、四分位数、均值、中位数等;

而str更多的是查看数据(变量)结构,返回:数据集维度数,列变量类型等。

summary()和str()结合使用可以对数据概况作出初步了解。

3.修改/替换/重定义数据

修改指定单元格,修改指定列,within 关联修改

4 数据合并

数据操作中,数据(集)合并是经常被用到。例如:合并来源不同,结构相似的两个表格

3.1 向量合并

3.2 cbind列合并(等长)

总结:cbind等行数、按列合并(无序)

3.3 rbind行合并

总结:按行合并,需要注意数据集需要有相同的列字段名

3.4 merge

3.5 补充:集合操作

集合操作,是对2个向量的操作,处理2个向量之间的数值的关系,找到包含关系、取交集、并集、差集等。、

数据连接主要涉及到merge函数和dplyr包中的*_join等函数,

另外sqldf函数(SQL)亦可以实现数据连接功能。

4.过滤/筛选

过滤,是对数据集按照某种规则进行筛选,去掉不符合条件的数据,保留符合条件的数据。对于NA值的操作,主要都集中在了过滤操作和填充操作中,因此就不在单独介绍NA值的处理了。

可参考

R语言 | 第一部分:数据预处理

7.数据筛选和8.抽样

R语言数据管理与dplyr、tidyr | 第4讲

5 dplyr中5.1筛选filter和5.3选择select

R 语言 逻辑运算:TRUE/FALSE | 专题3

4.1 缺失值处理

4.2 数据增减

常见如以下不同方法

4.3 数值分段

数值分段,就是把一个连续型的数值型数据,按区间分割为因子类型的离散型数据。

5 分组操作

此处仅讲述aggregate数据分组计算内容,更多分组计算内容

dplyr包中的group_by联合summarize

group_by和summarise单变量分组计算

group_by和summarise多变量分组计算

ddply分组计算示例

5.1 aggregate语法

5.2 aggregate分组计算

5.3 aggregate分组计算补充(formula形式)

可以重点了解一下

6. 排序

#order默认升序,变量前加“-”代表降序

#排序的操作,大多都是基于索引来完成的

#用order()函数来生成索引,再匹配的数据的数值上面。

可参考

R语言 排序&去重操作 | 专题1

R语言 | 第一部分:数据预处理

7. 计数

计数,是统计同一个值出现的次数。

8 数据分裂

分裂计算,是把一个向量按照一列规则,拆分成多个向量的操作。有时候分裂split也被用于分组计算中。

另外,可以用因子类型来控制分裂。分成2步操作,第一步先分成与数据集同样长度的因子,第二步进行分裂,可以把一个大的向量拆分成多个小的向量。

9. 去重与找重

去重,是把向量中重复的元素过滤掉。找重,是把向量中重复的元素找出来。

可参考

R语言 | 第一部分:数据预处理

R语言 排序&去重操作 | 专题1

R 语言 逻辑运算:TRUE/FALSE | 专题3

10.转置

转置是一个数学名词,把行和列进行互换,一般用于对矩阵的操作。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190921A096O900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券