查看: 728|回复: 2

[分享] 用R语言做数据分析——R的四种图形系统

[复制链接]
论坛徽章:
11
JVM徽章
日期:2014-12-24 15:14:33spark徽章
日期:2018-08-24 10:52:51架构徽章
日期:2018-05-03 15:48:06Kafka徽章
日期:2018-03-23 10:45:46R研习者高级
日期:2018-01-18 18:00:50Java徽章
日期:2018-01-04 17:15:14spark徽章
日期:2017-11-23 16:58:47机器学习徽章
日期:2017-05-18 16:19:25python徽章
日期:2017-03-02 16:34:48python徽章
日期:2017-01-06 10:51:34机器学习徽章
日期:2018-11-16 14:11:57
发表于 2017-12-15 14:10 | 显示全部楼层 |阅读模式

基础 数据分析 R语言 可视化 ggplot2

我们学习了各种各样的图形,它们大部分都是利用R语言的基础图形系统创建的。在R语言中,除了基础图形系统之外,R语言还提供了grid、lattice和ggplot2这三种图形系统,它们克服了R基础图形系统的低效性,大大扩展了的R语言的绘图能力。

grid图形系统可以很轻松地控制图形基础单元,给予编程者创作图形极大的灵活性。lattice包通过一维、二维或三维条件绘图来对多元变量关系进行直观展示。ggplot2包则基于一种全面的图形语法,提供了一种全新的图形创建方式。因为grid没有提供生成统计图形以及完整绘图的函数,因此数据分析师很少直接采用grid包来分析数据。这里重点介绍lattice和ggplot2图形系统。

四种图形系统的载入方式有所不同,基础图形函数可以自动调用,grid和lattice函数的调用必须要加载相应的包(library(lattice)),要调用ggplot2函数需要下载并安装该包(install.packages("ggplot2")),第一次使用还要引入加载该包(library(ggplot2))。

lattice包为单变量和多变量数据的可视化提供了一个全面的图形系统,它可以轻松生成栅栏图形。

回复

使用道具 举报

论坛徽章:
11
JVM徽章
日期:2014-12-24 15:14:33spark徽章
日期:2018-08-24 10:52:51架构徽章
日期:2018-05-03 15:48:06Kafka徽章
日期:2018-03-23 10:45:46R研习者高级
日期:2018-01-18 18:00:50Java徽章
日期:2018-01-04 17:15:14spark徽章
日期:2017-11-23 16:58:47机器学习徽章
日期:2017-05-18 16:19:25python徽章
日期:2017-03-02 16:34:48python徽章
日期:2017-01-06 10:51:34机器学习徽章
日期:2018-11-16 14:11:57
 楼主| 发表于 2017-12-15 14:10 | 显示全部楼层
在一个或多个其他变量的条件下,栅栏图形展示某个变量的分布或与其他变量间的关系。lattice包中singer数据集包含了合唱成员的身高和声部数据,让我们考虑以下问题:纽约合唱团歌手的身高随着他们所属的声部如何变化?来看以下代码:
> library(lattice)
> histogram(~height|voice.part, data=singer,main="Distribution of Heights by Voice Pitch", xlab="Height (inches)")
回复 支持 反对

使用道具 举报

论坛徽章:
11
JVM徽章
日期:2014-12-24 15:14:33spark徽章
日期:2018-08-24 10:52:51架构徽章
日期:2018-05-03 15:48:06Kafka徽章
日期:2018-03-23 10:45:46R研习者高级
日期:2018-01-18 18:00:50Java徽章
日期:2018-01-04 17:15:14spark徽章
日期:2017-11-23 16:58:47机器学习徽章
日期:2017-05-18 16:19:25python徽章
日期:2017-03-02 16:34:48python徽章
日期:2017-01-06 10:51:34机器学习徽章
日期:2018-11-16 14:11:57
 楼主| 发表于 2017-12-15 14:11 | 显示全部楼层
height是因变量,voice.part被称作条件变量,这段代码对八个声部的每一个都创建了一个直方图。图形显示了男高音和男低音比女低音和女高音身高要高。
在栅栏图形中,单个面板要依据条件变量的各个水平来创建。如果指定了多个条件变量,那么一个面板将按照各个因子水平的组合来创建。然后面板将被排成一个阵列以进行比较。每个面板在一个区域都会有一个标签,这里的区域称作条带区域。随后我们可以看到,用户可对每个面板中展示的图形、条带的格式和位置、面板的摆放、图例的内容和位置以及其他许多图形特征进行控制。
lattice包提供了丰富的函数,可生成单变量图形(点图、核密度图、直方图、柱状图和箱线图)、双变量图形(散点图、带状图和平行箱线图)和多变量图形(三维图和散点图矩阵)。
各种高级绘图函数都服从以下格式:
graph_function(formula, data=, options)
graph_function为图形类型函数;
formula指定要展示的变量和条件变量;
data指定一个数据框;
options是逗号分隔函数,用来修改图形的内容、摆放方式和标准。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

 

GMT+8, 2019-6-18 01:45 , Processed in 0.097475 second(s), 30 queries .

关闭

扫一扫加入
本版微信群