专栏首页庄闪闪的R语言手册[R数据科学] 1.6几何对象

[R数据科学] 1.6几何对象

前言

本最近打算把《R数据科学》过一遍,并且把课后习题都做一下。先从第一章开始吧,快速把ggplot过一下。第一章目录如下:

前面几节的内容比较少,第1.5节我对其做了补充,可见R可视乎|分面一页多图,课后练习题也可在该篇文章中找到。

1.6节主要讲几何对象:表示数据的几何图形对象,比如条形图,折线图,箱线图等。要想改变图中的几何对象,需要修改添加在ggplot() 函数中的几何对象函数。1.6节的内容不是很多,我们主要通过写本节的练习来回顾知识点。

练习

(1) 在绘制折线图、箱线图、直方图和分区图时,应该分别使用哪种几何对象?

:geom_line(), geom_boxplot(), geom_histogram(),

(2) 在脑海中运行以下代码,并预测会有何种输出。接着在 R 中运行代码,并检查你的预测是否正确。

ggplot(data = mpg,
  mapping = aes(x = displ, y = hwy, color = drv)) +
  geom_point() +
  geom_smooth(se = FALSE)

想象下:x轴是displ,y轴是hwy,颜色使用drv填充,然后加了一个散点图(中间没有参数,用默认),再加上一个拟合曲线,没有绘制出区间。由于两个集合对象都没有对mapping进行设置,所以会使用原始涂层的aes(x = displ, y = hwy, color = drv))。所以出来的结果,散点图和拟合曲线都是三种颜色。下面是出来的颜色:

(3) show.legend = FALSE 的作用是什么?删除它会发生什么情况?

:是把图例隐藏了,默认参数是show.legend = TRUE.

(4) geom_smooth() 函数中的 se 参数的作用是什么?

:可以绘制出区间,当se = TRUE(默认)则会出现区间。

(5) 以下代码生成的两张图有什么区别吗?为什么?

#第一幅图
ggplot(data = mpg, mapping = aes(x = displ, y = hwy)) +
geom_point() +
geom_smooth()
#第二幅图
ggplot() +
geom_point(data = mpg,
mapping = aes(x = displ, y = hwy)
) +
geom_smooth(data = mpg,
mapping = aes(x = displ, y = hwy)
)

没有什么区别,第一个图在原始上就设定了x,y。后面两个集合对象就可以默认使用前面的设置了。而第二个图则是原始没有设置,而是在集合对象中一一设置了。

第一种方法:简便;第二种方法:灵活,可以设置不同的x,y。

(6) 自己编写 R 代码来生成以下各图

第一个图: x为displ,y为hwy。画了散点图(geom_point)并绘制了拟合曲线(geom_smooth),没加置信区间(se =FALSE)

ggplot(data = mpg,aes(x = displ,y = hwy))+
	geom_point(size=3)+
	geom_smooth(se=F,size=2)

第二个图: 在第一个基础上根据drv变量绘制了三条拟合曲线,并且没有绘制区间。并且把图例删除了(show.legend = FALSE)

ggplot(data = mpg,aes(x = displ,y = hwy))+
	geom_point(size=3)+
	geom_smooth(aes(fill=drv),se=F,size=2,show.legend = FALSE)

第三个图: 散点图颜色的颜色根据drv变量进行变化,并且拟合曲线也是和散点图相同颜色(所以可以在最原始图层中加入color=drv),没有拟合曲线的区间,但是有图例(默认就是有的)。

ggplot(data = mpg,aes(x = displ,y = hwy,color=drv))+
	geom_point(size=3)+
	geom_smooth(se=F,size=2)

第四个图: 根据frv变量给散点图填充,但是只绘制了一条拟合线。所以这里不可以直接放在原始图层里,得放在geom_point()中。

ggplot(data = mpg,aes(x = displ,y = hwy))+
	geom_point(aes(color=drv),size=3)+
	geom_smooth(se=F,size=2)

第五幅图:在第三幅图基础上改变了拟合曲线的线的类型(linetype)。

ggplot(data = mpg,aes(x = displ,y = hwy,color=drv))+
	geom_point(size=3)+
	geom_smooth(aes(linetype=drv),se=F,size=2)

第六幅图: 没有拟合曲线,直接将散点图的颜色区分开了,有点像第三幅图的简化版。

ggplot(data = mpg,aes(x = displ,y = hwy,color=drv))+
	geom_point(size=3)

参考

  1. R for Data Science [https://r4ds.had.co.nz/]

本文分享自微信公众号 - 庄闪闪的R语言手册(Zss_R4ds),作者:庄闪闪

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-08-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Apache Spark 1.6发布

    今天我们非常高兴能够发布Apache Spark 1.6,通过该版本,Spark在社区开发中达到一个重要的里程碑:Spark源码贡献者的数据已经超过1000人,...

    CSDN技术头条
  • 如何让你的数据对象say I do(R-数据索引)

    生信技能树
  • Python数据科学手册(三)【Pandas的对象介绍】

    Pandas构建在Numpy的基础上,它同时支持行和列的操作。 使用pip进行安装:

    用户2936342
  • 2017最不受欢迎编程语言榜,PHP上榜

    01 最不受欢迎的编程语言 在 Stack Overflow 上,开发者可以创建属于自己的“Developer Story”,用来记录项目开发、获得的成就等个...

    BestSDK
  • (数据科学学习手札46)Scala中的面向对象

      在Scala看来,一切皆是对象,对象是Scala的核心,Scala面向对象涉及到class、object、构造器等,本文就将对class中的重点内容进行介绍...

    Feffery
  • Python VS R,你会选择谁呢?

    想知道做数据分析应该使用R还是Python ?事实证明,有很多好的资源可以帮助你了解这两种语言的优缺点。

    数据森麟
  • Python超越R,为何Python攀上数据科学巅峰?

    预料之内的是,Python 并没有完全「吞噬」R 语言的空间,但这项基于 954 个参与者的投票显示,Python 生态系统在今年已经超越了 R 语言,成为了数...

    华章科技
  • 深入对比数据科学工具箱:Python和R之争

    概述 在真实的数据科学世界里,我们会有两个极端,一个是业务,一个是工程。偏向业务的数据科学被称为数据分析(Data Analysis),也就是A型数据科学。偏向...

    CDA数据分析师
  • 深入对比数据科学工具箱:Python和R之争

    在真实的数据科学世界里,我们会有两个极端,一个是业务,一个是工程。偏向业务的数据科学被称为数据分析(Data Analysis),也就是A型数据科学。偏向工程的...

    生信宝典
  • 近10年学术论文的数据分析!

    arXiv是重要的学术公开网站,也是搜索、浏览和下载学术论文的重要工具。它涵盖的范围非常广,涉及物理学的庞大分支和计算机科学的众多子学科,如数学、统计学、电气工...

    Datawhale
  • 在TensorFlow2.0发布前,帮你掌握TensorFlow的必备内容

    【导读】AI科技大本营曾报道过,TensorFlow 2.0 已经在开发计划中了,相信在不久的将来就会和我们见面。那么现在的 TensorFlow 都有哪些功能...

    AI科技大本营
  • 2020年AI领域有哪些让人惊艳的研究?

    前段时间,Google Brain科学家Barret Zoph表示,他们设计了一个名叫「Switch Transformer」的简化稀疏架构,将语言模型的...

    炼丹笔记
  • 【工具】深入对比数据科学工具箱:Python和R之争

    文章目录 概述 应用场景对比 应用Python的场景 应用R的场景 数据流编程对比 参数传递 数据传输与解析 基本数据结构 MapReduce 矩阵操作 数据框...

    小莹莹
  • 为何入坑数据科学首先要从R语言开始

    很多时候,当和人们讨论怎么开始学习数据科学,一个疑惑总是出现在我们面前: 我不知道应该学什么编程语言。 不仅仅是编程语言,这还包括软件系统,例如TABLEAU,...

    小莹莹
  • R语言系列第六期:②R语言基本绘图(下)

    SURPLUS:联邦财政预算的盈余(正向)或亏损(负向),按当年国民生产总值的百分比计算。

    百味科研芝士
  • 关于TensorFlow九件你非知不可的事

    【磐创AI导读】:本文内容是关于谷歌刚刚举行的Google Cloud Next 2018 大会中对TensorFlow方面新增功能和改动的几点总结。想要学习更...

    磐创AI
  • python画一片绿叶给你

    今天有人在知乎上向我发起了提问,问怎么用 turtle 画一个 π 字,于是我顺手到网上大致搜了下,发现网上没有画这个 π 字的,接着又用谷歌加英文搜索了下,还...

    谭小谭
  • 妹子如何运用R语言数据分析选择心仪的对象?

    前提假设 妹子们一生中可以遇到100个追求者,追求者的优秀程度符合正态分布; 每个妹子都具备判断并比较追求者优秀程度的能力; 接受或拒绝一个追求者后永远无法后...

    机器学习AI算法工程
  • 为何Python攀上数据科学巅峰?KDnuggets2017调查Python超越R

    选自KDnuggets等 机器之心整理 参与:李泽南、李亚洲、路旭阳 根据 KDnuggets 2017 年最新调查,Python 生态系统已经超过了 R,成为...

    机器之心

扫码关注云+社区

领取腾讯云代金券