首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >[R数据科学] 1.6几何对象

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

作者头像
庄闪闪
发布2021-04-09 10:55:54
发布2021-04-09 10:55:54
2K0
举报

前言

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

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

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

练习

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

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

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

代码语言:javascript
复制
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) 以下代码生成的两张图有什么区别吗?为什么?

代码语言:javascript
复制
#第一幅图
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)

代码语言:javascript
复制
ggplot(data = mpg,aes(x = displ,y = hwy))+
	geom_point(size=3)+
	geom_smooth(se=F,size=2)

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

代码语言:javascript
复制
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),没有拟合曲线的区间,但是有图例(默认就是有的)。

代码语言:javascript
复制
ggplot(data = mpg,aes(x = displ,y = hwy,color=drv))+
	geom_point(size=3)+
	geom_smooth(se=F,size=2)

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

代码语言:javascript
复制
ggplot(data = mpg,aes(x = displ,y = hwy))+
	geom_point(aes(color=drv),size=3)+
	geom_smooth(se=F,size=2)

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

代码语言:javascript
复制
ggplot(data = mpg,aes(x = displ,y = hwy,color=drv))+
	geom_point(size=3)+
	geom_smooth(aes(linetype=drv),se=F,size=2)

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

代码语言:javascript
复制
ggplot(data = mpg,aes(x = displ,y = hwy,color=drv))+
	geom_point(size=3)

参考

  1. R for Data Science [https://r4ds.had.co.nz/]
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 庄闪闪的R语言手册 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 练习
    • (1) 在绘制折线图、箱线图、直方图和分区图时,应该分别使用哪种几何对象?
    • (2) 在脑海中运行以下代码,并预测会有何种输出。接着在 R 中运行代码,并检查你的预测是否正确。
    • (3) show.legend = FALSE 的作用是什么?删除它会发生什么情况?
    • (4) geom_smooth() 函数中的 se 参数的作用是什么?
    • (5) 以下代码生成的两张图有什么区别吗?为什么?
    • (6) 自己编写 R 代码来生成以下各图
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档