当前课程知识点:R语言数据分析 >  下部:博术 >  第10章 观数以形 >  10.3 二维数据空间

返回《R语言数据分析》慕课在线视频课程列表

10.3 二维数据空间在线视频

下一节:10.4 高维数据空间

返回《R语言数据分析》慕课在线视频列表

10.3 二维数据空间课程教案、知识点、字幕

大家好

欢迎来到《R语言数据分析》课程

今天我们看一看

如何表征二维空间的数据形态

刻画变量之间的关系

我们说到变量的时候

我们一般将变量分成两类

一个是数值变量

一个是类别变量

要刻画两个变量之间的关系的话

我们可以有这么至少三种组合

一个是类别变量和类别变量

第二种是数值变量与数值变量之间关系

第三种是类别变量与数值变量之间的关系

我们要刻画这个类别变量

和类别变量之间关系的话

一般要采用这个什么

矩形树图

矩形树图

当我们这个两个变量都为数值变量的时候

我们可以通过这个散点图和相关系数图

来进行刻画

一个变量为类别变量

另外一个变量为数值变量的时候

这个时候我们一般是通过这个分组绘图的方式

来刻画它们之间关系

下面我们先看第一个

就这个类别变量和类别变量

如何来刻画它们的关系

我们通过矩形树图来刻画

类别变量之间关系的时候

它其实采用这么一个逻辑

所谓矩形树图

它就是个嵌套的什么 矩形

来表征我们层级的数据

比如说我们现在想知道文理分科

文科和理科和性别是否有关系

我们可以通过这么一个矩形树图来表达

比如说我们总共学生有774个

文科生有多少 394

理科生有380

然后在文科生里面男生有131

女生有263

在理科生里面

男生有237

女生有143

就是一个层级结构

那矩形树图其实就是什么

对这个层级结构一个直观的表达

通过将这个面积映射为相应的数值

来直观的表达它一个分布的情况

比如说我们可以看得出来

这个矩形树图现在有两个层级

上半部分这个矩形是文科

下半部分 这个矩形是什么

是理科

就文理分科本身文科生和理科生

它是相对比较均衡的

但是文科生里面的女生是占绝大多数的

然后这个理科生里面男生是占绝大多数的

我们看得出来是比较明显

所以文理分科确实有一定的

性别的倾向性

当然我们看看

可以通过R来具体实现一下

要绘制这个矩形树图的话

可以调用这个treemap::treemap()

这么一个函数

在绘制图形之前

我们先要对这个数据进行整理

对数据进行整理

也是针对我们这个cjb这个数据

采用管道操作符

先对文理分科wlfk 班级bj 性别xb

进行一个分组

然后summarise()进行统计

统计相应的组别它的什么

学生的个数

当然因为我们这个treemap这个函数

只能接受这个data.frame

所以我们对它进行一个转换

转换之后我们看一下

我们现在要呈现的指标就是

wlfk bj xb

然后具体的组

每一组里面

这个也就是说这个组分组有这么三个层级分组

具体的我们要映射的大小是什么

就是这个count

这个count

就我们刚才统计出来这个什么

summarise的结果

就每一个组它具体包含多少学生

同样我们也可以对相应的其它一些参数进行设置

比如说我这个颜色

这个绘制图形的那个类型

这个type

咱们看一看这个矩形树图

它具体结果

同样这个矩形树图我们看得出来

它是有这个三个层次了

首先是什么

首先是文科在左

理科在右

这是一级的

第一级 第一个层级

第二个层级是什么

第二层级 具体的班级

比如 1102班 1103班 1105班

然后第三个层级是什么

才是我们那个男女分别的数量

我们这为什么不是1101 1102 1103班

它这个矩形树图是什么

从左上角到右下角

它的取值大小是依次减少

所以1102班的人相对多一点的话

它就排在上面

通过这个图我们可以直观看出来

男女在这个文理分科 性别 班级这一块

它们相互之间的关系

总体上我们还是一样

这个结论和前面是一致

就是理科和文科是相对均衡

但是 不同的班级

男女生的比例是差别比较大的

比如说这个文科班里面

尤其是1105班

女生占绝大多数

1106班也是

男女比例是严重失调

然后针对这个理科生这一块来

比如说1113班

男生比例占绝大多数

1115班也是

女生只是占极少的一个比例

所以通过这个矩形树图的话

我们可以看得出来整个这个布局

就是整个这个不同的类别变量之间

它相互之间是否有关系

这是矩形树图的一个最基本的一个概念

以及在R里面相应的一个实现

我们再看第二种

第二种情形就是

当我们这两个变量都是数值变量的时候

我们一般就通过这个散点图

或者相关系数图进行刻画

咱们来看一下

所谓散点图在R里面实现的话相对比较简单

就是什么

geom_point

这个前缀还是一样的

表示它映射成相应图形为什么

为点

比如说我们现在想知道这个sx sw

它们相互之间的关系

我们可以绘制个散点图

当然我们也同时将什么

将这个点映射成什么

它的形状

将文理分科区别开来

咱们看一下具体结果

可以看得出来

这个时候是把sx映射为X轴

然后这个sw映射成Y轴

然后可以看得出来文理分科的话

理科生还是相对偏什么

还是相对偏我们那个右上角

也就是它的成绩相对要都要高一点

这里面其实就是

两个变量所张成的什么

张成的一个二维的数据空间

不同的学生

它在这个数据空间里面

所处的位置

也是一个散点的位置

当然当我们涉及到多个变量的时候

其实也可以做两两之间的什么

散点图

假如是采用这个ggplot的这个绘图系统的话

可以用这个ggpairs

就两两之间进行绘图

这个图里面左下角

这部分

下三角这一部分是什么

就是我们的散点图

上三角 这个是什么

是相应的相关系数

就每个变量

一个变量和另外一个变量

它的相关性的程度

相关性的高低

这里面有些具体的数值

我们来看一下这个数值是怎么计算出来的

我们所谓的相关性指什么

就当一个变量变大的时候

另外一个变量也随之变化

要不就随之增大

要不就随之减少

这里面就是所谓的正相关和负相关

当一个变量变化

另外一个变量也变化的时候

这种现象称为什么

共变

也就是我们所谓的什么

相关

当我们这个变量之间具有共变现象的时候

我们就称之为具有相关关系

一般来讲没有特别说明的情况之下

我们的相关系数都是什么

都是线性相关系数

或者说皮尔逊相关系数

它的具体计算公式

我们可以看一下

我们现在主要关注的是什么

主要关注的是分子这一部分

因为分母这部分的话是什么

是一个标准化的过程

就是分子这一部分

它是直观的表达了一个变量在变化的时候

另外一个变量也随之变化

具体怎么表达的

就是比如说X和Y的话

就是Xi减X平均值

就是X的每个取值和它的什么

平均值的一个偏差

乘上什么

Y的每一个取值减Y的平均值的偏差

相应位置的Y和X这个偏差相乘再相加

这就是我们的什么

其实我们通过这个分子

我们看得出来分子里面隐约有什么

有协方差的影子

这个协方差协方差关键在于什么

在于协是不是

就是一个变量的变化

另外一个变量也在变化

当然看完这个数学公式之后

我们当然可以记住它

但我们更应该深入理解

为什么说相应位置的偏差

相乘之后再相加

就能代表这个所谓的共变性

或者相关性

或者怎么来把这个协同的程度就表达出来了

其实关于这个协方差

我们可以结合之前讲过的什么

内积来进行理解

求我们内积的时候是什么

也是相应位置元素相乘再怎么样

再相加

看起来是一个加减乘除的一个简单组合

但我们在前面讲到了

内积其实代表什么

就同心 同向性

你在我这个身上的影子

你在我身上的什么强度

在你在我这个方向上的强度

当然同样的我们协方差也是一样

无非是这个什么

这个X和Y分别改成了什么

Xi减X平均值

Yi减Y的平均值了

所以确实也可以看得出来

它其实就是什么

虽然是一个简单的相乘再相加

其实也表达了这里面一个协同

一个共变的一个过程

我们看完这个内积概念

其实也就更加深入的理解了

这个所谓的协方差的概念

也就是说为什么它是协同的

是共变的

同样我们也就对这个相关系数

相关性有了更深的理解

那咱们再看一看在R里面具体是如何实现它的

如何计算这个相关系数

R里面计算相关系数的函数

就是cor()

就表示计算相关系数

当然这个函数假如你再设置其它一些参数的话

也可以计算其它一些相关系数

我们默认的是皮尔逊相关系数

当然也可以求什么肯德尔相关系数之类的

咱们先看

我们这个假如不设参数的话

默认的计算出来的

皮尔逊相关系数一个结果

这里面得到这个什么

得到这个相关系数矩阵

相关系数矩阵

对角线上毫无疑问自己和自己的话都是什么

都是取值为1

相关性是百分之百的

然后正相关的话就是取值偏向于1

负相关的话取值偏向于-1了

我们在看这些相关系数矩阵的时候

因为这一大堆密密麻麻的数据

其实我们是很难看的出来哪些变量之间

它相关性比较强

哪些变量之间它相关性比较弱的

我们其实还是需要借助一些直观的

一些图形来表达它

我们这个时候就引入一个新的图形了

就是相关系数这么一个图

我们在绘制这个图形的时候也是

先将这个数据进行整理

先分第一部分

先是第一个步骤

我们先计算这个相关系数矩阵

将这个相关系数矩阵怎么样

变成一个data.frame

然后将每一行的名称

也就是我们看到的那九个科目的名称

语文yw 数学sx 外语wy等等

一直到生物sw

将它什么变成新的一列

这一列叫km1

然后怎么样

我将这个宽的数据变成长的数据

每一列它的列名都放在km2

这里面

然后这个具体的取值

放在这个我再给它取个名字

当然这个时候只有km1

是不参与这个长宽变换的

在长宽变换之后

我再怎么样

我再将它进行一个离散化

进行一个装箱

调用cut()这个函数

我们将整个这个相关系数 相关性

从0 0.3 0.5 0.8到1

切分成这么几个区间

表示我们相关程度的高低

当然这个时候我们设了一个

right=FALSE

表示什么

表示我是左闭右开的一个过程

左闭右开的一个区间

咱们先看看前面这一部分代码

它的结果是什么

我们拿到了原始数据

就是这个相关系数矩阵

是左侧这个图

我们先将什么

先将yw sx wy等等这些变量名称

先变成了新的一列km1

然后我做了数据的什么

由宽的数据变成长的数据

也就是说每一列

每一列 每一列 每一列

我现在什么要把它叠在一起了

放在一起了

变成就是多行

就是现有的一行

要变成新的九行

变成我们这种情况

km1 km2 是不变的

这个时候怎么样

比如说这个时候语文语文对应的是1

还在这

然后语文数学0.46

对应到第二行

这是我们前面讲过的数据长宽变换的过程

在长宽变换之后

这个数据拿到之后

我再针对这个数据进行什么

进行分箱

把它落入不同的区间

进行离散化

这个数据整理完之后

我们就可以进入这个绘图环节了

进入第二个步骤

也是接下来这些代码

我们采用的还是这个ggplot

那个绘图这么一个系统

在具体映射的过程中

将x映射成km1

y映射成km2

然后我这个填充映射成什么

我具体的相关性的水平

刚才cut()的结果

离散化的结果

所映射的图形是这个geom_tile

tile的话我们看是什么

就是我们那个瓷砖

假如要看英文意思的话

是瓷砖类似这样的

它其实我们可以直观想象一下

就像我所最后得到结果

所得相关系数图

它就像地上一块一块的瓷砖

方的瓷砖放在一起

同样还做了其它一些那个参数的设置

包括我们后面还将什么

还将这个具体的相关系数

我们也映射到放到这个图里面来了

咱们看一看具体结果

这张图就是我们刚才这个geom_tile

这么一种图形

它确实像什么

就像一个个瓷砖一样

这边我们将这整个相关系数分成这么几个区间

可以看得出来

比如说这里面有一些颜色比较深的

0.6 0.62 等等

就是比如说这个什么

这个是化学和我们的这个物理

它相关性比较强

也就是说你化学成绩比较好的话

你物理成绩可能也比较好

这就是相关系数在R里面的计算

以及它的可视化展示

这前面两种情况我们做了一个简要的介绍

就是类别变量和类别变量之间的关系

数值变量与数值变量之间关系

当然还有一种可能是什么

我这里面两个变量里面

它类型是不一样的

一个是类别变量

一个是什么 数值变量

这个时候我们用到什么

就用了分组绘图

这么一种方法

分组绘图

实际上我们在前面讲单个变量的时候

讲了很多

它的数据形态 刻画的方法

所有的方法基本都可以用到这个

分组绘图里面来

就是我这个类别变量作为什么

类别变量作为我的那个分组变量

然后具体绘图的时候就按这个数值变量

绘制我的箱线图

绘制我的概率密度图等等

比如说我们现在按照这个不同的班级

来绘制数学成绩的分布

绘制它的箱线图

这个时候我就将班级作为什么

班级作为我的分组变量

然后对数学成绩绘制相应的箱线图

大家看一下

这个时候我将x映射成什么

映射成bj

它作为组别

具体将数学映射成相应的什么

箱线图

映射成相应的箱线图

咱们看一下

具体的

绘图结果

这时候可以看得出来

X轴的话就是所有的班级

从1101班一直到什么1115班

然后这个时候我们再看

它具体每一个班都有什么

都有一个箱线图

当我们有了分组这个绘图之后

就可以对不同的组别它的数据分布形态

做一个非常直观地比较了

比如说文科班的从一班到七班

它们前面这几个班

它数学成绩都怎么样

第一是相对来讲这个中位数是相对偏低的

第二是它的什么

箱子相对比较长

也就是这个四分位距是比较大的

那好也证明

这前面几个班的文科生

它是整体的数学水平

数学成绩比较低

同时还数学成绩比较分散

比较分散

再比如说这几个班的

这几个理科班的数学成绩

它怎么样

中位数很高

对不对

也就说平均大部分的同学的数学成绩都比较高

同时它箱子比较短

表明什么

大部分数学成绩都是比较集中的

整个这个班并不是说

有些同学数学成绩是九十几

有的同学成绩可能只是六十几

这分散程度很高

分散程度很大

还不是那样

它就第一是总体水平比较高

第二是什么

相对比较集中

集中在这个比较高的一个分数段里面

当然除了箱线图之外

我们应该绘制什么

可以分组绘制这个概率密度图

分组绘制概率密度图的时候

我们一个新的叫法叫什么

层峦叠嶂图

这个名字是一个非常直观的名字

非常直观 非常形象

我们一会要看它具体的图形来展示

这时候我们要需要调一个什么

ggridges

就是一个山峰

山的脊梁的意思

这里面可以把我们

这个同样我们是把这个数学成绩进行映射

按照班级来映射

因为我是什么

我后面要用到一个坐标的什么

坐标的旋转

就把它横过来

所以这个时候Y映射成班级作为分组变量

具体映射的几何图形

就是这个我们所谓的层峦叠嶂图

我们看一下它具体的效果是什么

从这个图就可以看得出来

它每一个山峰其实都是什么

都是不同的班级

都是不同的班级

这样一眼看过去的时候

它确实什么

就像我们在飞机上

看我们的山峰一样

通过这个层峦叠嶂图

或者说分组的概率密度图

我们能比较直观的看出来

这个数据的高矮胖瘦

高矮胖瘦

比如说这几个文科班的同学的成绩

我们刚刚通过箱线图也看得出来

它是比较分散的

然后像这几个理科班的成绩

它是相对比较瘦的

这个数据相对比较瘦

怎么样

它相对比较集中相对比较高

属于那个瘦高型的这么一种数据分布形态

同时我们可以比较不同的班级

它所站的位置

比如说这个班

这个班它站的毫无疑问就偏什么

就偏右

也就是说我这个成绩是相对偏高一点

像这个班的话

相对来说它的位置在这个位置

假如这两个班相比较的话

毫无疑问这个班的平均成绩可能是

这个班的平均成绩相对要是偏高一点

也就说数据的站的位置不一样

也能看得出来它集中的一个趋势

这是我们所谓的层峦叠嶂图

来反映不同的组别它数据分布的一个差别

进行对比

以上就是我们通过这个分组绘图

分组的箱线图

分组的概率密度图

也就是层峦叠嶂图

对不同的组别数据分布的形态进行一个比较

其实不仅仅是可以对不同的组别的数据分布

形态进行比较

它还可以用于特征的分组绘图

还可以用于什么特征的选择

比如我们针对这个分类问题

我最关注的组别是什么

就是我的最后的因变量

比如说我们现在关注的问题

就我们文理分科这个问题情境而言

就最后的组别就是究竟是分成文科

还是分成理科

那文科和理科和我那个特征

和我的前面的成绩究竟没有关系

那这个时候我可以怎么样

将因变量

将文理分科wlfk作为分组变量

对不同的特征

也就不同的那个成绩进行什么

分组绘图

比如这个时候我分两组绘制所有的成绩的什么

概率密度图

我们可以看一下

它们是否有区别

这时候我们可以加载这个什么

caret这个包

其中有一个什么

有这么一个函数那个featurePlot()

就针对不同的特征进行绘图

分组绘图

我们看一下

这时候的结果

我们可以看得出来

不同的自变量

其实对这个因变量的辨别能力它是不一样的

譬如说

这个化学它的文科生就相对怎么样

这个数据分布就相对比较胖一点

而且相对比较分散

而理科生的话相对什么

相对是比较尖一点

相对比较瘦一点

就文理分科它其实有比较大的那个区分度的

但像某一些科目

比如说历史

基本上文理分科就叠在一起了

就文科生也是这样

理科生也是这样

包括后面的什么后面这个语文

语文成绩也是一样

就文科生的语文成绩和理科生语文成绩

几乎没有什么太大区别

也就是说我们意味着我们后面在做分类的时候

通过这个分组绘图

我们可以看得出来

在我们这个后面做分类的时候

其实像历史语文它可能辨别能力

或者说它的分类能力

可能就不如我们刚才看到的

这些化学和物理这些科目了

这也为我们

通过这个直观的展示

通过这个对这个分组的绘图

也为我们后面的进一步的建模打下一个基础

以上我们讲解了一下

就是类别变量和类别变量

数值变量和数值变量

以及类别变量与数值变量之间的关系

它一些具体的刻画的方式

当然我们这讲的方法还是相对还是有限

感兴趣同学可以进一步看ggplot2

它相应的一些其它的一些函数

绘制更多形式的一些图形

对我们整个这个数据进行更深入的探索

本次课到此结束

谢谢大家

R语言数据分析课程列表:

上部:问道

-第1章 气象万千、数以等观

--第1章 气象万千、数以等观

--第1章 作业

-第2章 所谓学习、归类而已

--2.1 所谓学习、归类而已(I)

--2.2 所谓学习、归类而已(II)

--2.3 所谓学习、归类而已(III)

--2.4 所谓学习、归类而已(IV)

--第2章 作业

-第3章 格言联璧话学习

--第3章 格言联璧话学习

--第3章 作业

-第4章 源于数学、归于工程

--第4章 源于数学、归于工程

--第4章 作业

-讨论题

--如何发挥人工智能的头雁效应

中部:执具

-第5章 工欲善其事、必先利其器

--第5章 工欲善其事、必先利其器

--第5章 作业

-第6章 基础编程——用别人的包和函数讲述自己的故事

--6.1 编程环境

--6.2Mini案例

--6.3 站在巨人的肩膀上

--6.4 控制流

--6.5 函数(I)

--6.6 函数(II)

--第6章 作业

-第7章 数据对象——面向数据对象学习R语言

--7.1 向量与因子(I)

--7.2 向量与因子(II)

--7.3 矩阵与数组(I)

--7.4 矩阵与数组(II)

--7.5 列表与数据框(I)

--7.6 列表与数据框(II)

--第7章 作业

-第8章 人人都爱tidyverse

--第8章 人人都爱tidyverse

--第8章 作业

-第9章 最美不过数据框

--第9章 最美不过数据框

--第9章 作业

下部:博术

-第10章 观数以形

--10.1 一维数据空间(I)

--10.2 一维数据空间(II)

--10.3 二维数据空间

--10.4 高维数据空间

--第10章 作业

-第11章 相随相伴、谓之关联

--11.1 导引

--11.2 关联规则(I)

--11.3 关联规则(II)

--11.4 关联规则(III)

--第11章 作业

-第12章 既是世间法、自当有分别

--12.1 导引

--12.2 近邻法(I)

--12.3 近邻法(II)

--12.4 决策树(I)

--12.5 决策树(II)

--12.6 随机森林

--12.7 朴素贝叶斯

--12.8 逻辑斯蒂回归

--12.9 人工神经网络(I)

--12.10 人工神经网络(II)

--12.11 支持向量机

--第12章 作业

-第13章 方以类聚、物以群分

--13.1 导引

--13.2 划分方法

--13.3 层次方法

--第13章 作业

-第14章 庐山烟雨浙江潮

--第14章 庐山烟雨浙江潮

--第14章 作业

10.3 二维数据空间笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。