生信星球培训第八十二期

学习小组Day4笔记-ZHX

2020-10-02  本文已影响0人  周ZHX

R语言基础

R语言之前有点基础,对于安装、中文用户名、还有更新都有痛的领悟,这里就不再做笔记了
下面的内容是R for data science里ggplot绘图基础内容
涉及到的R包有:ggplot2
数据:R内置的mpg

mpg
# A tibble: 234 x 11
   manufacturer model      displ  year   cyl trans      drv     cty   hwy fl    class  
   <chr>        <chr>      <dbl> <int> <int> <chr>      <chr> <int> <int> <chr> <chr>  
 1 audi         a4           1.8  1999     4 auto(l5)   f        18    29 p     compact
 2 audi         a4           1.8  1999     4 manual(m5) f        21    29 p     compact
 3 audi         a4           2    2008     4 manual(m6) f        20    31 p     compact
 4 audi         a4           2    2008     4 auto(av)   f        21    30 p     compact
 5 audi         a4           2.8  1999     6 auto(l5)   f        16    26 p     compact
 6 audi         a4           2.8  1999     6 manual(m5) f        18    26 p     compact
 7 audi         a4           3.1  2008     6 auto(av)   f        18    27 p     compact
 8 audi         a4 quattro   1.8  1999     4 manual(m5) 4        18    26 p     compact
 9 audi         a4 quattro   1.8  1999     4 auto(l5)   4        16    25 p     compact
10 audi         a4 quattro   2    2008     4 manual(m6) 4        20    28 p     compact
# ... with 224 more rows

ggplot绘图基本结构

ggplot(data = <DATA>) +
<GEOM_FUNCTION>(mapping = aes(<MAPPINGS>))

在图形上添加变量

重要的概念:图形属性映射,就是将你要在图片上体现的变量,用不同的图形属性表现出来,比如,你已经用xy轴来定义所有汽车的引擎大小和燃油效率,是用散点图的形式展现,图片上所有的点代表所有的汽车,但是你想让汽车种类在图上也有所体现,这时候就想用图片的颜色来区分不同的汽车种类,或者用形状、大小来区分也可以。简而言之:将变量信息通过图形的可视化属性展现出来。

ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy, color = class))

aes是将变量信息和图形属性相连接,如果要改变整个图形的外观,需要放在aes括号外。

ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy), color = "blue")

另一种添加变量的方式是分面

ggplot(data = mpg) +
  geom_point(mapping = aes(x = displ, y = hwy)) +
  facet_wrap(~ year, nrow = 2)  
ggplot(data = mpg) +
  geom_point(mapping = aes(x = displ, y = hwy)) +
  facet_grid(drv ~ cyl)   ##drv放在y轴,cyl放在x轴,下图
ggplot(data = mpg) +
  geom_point(mapping = aes(x = displ, y = hwy)) +
  facet_grid(. ~cyl)  ###cyl在x轴
ggplot(data = mpg) +
  geom_point(mapping = aes(x = displ, y = hwy)) +
  facet_grid(drv~ .) ##drv在轴
image.png

几何对象

指我们表示数据的几何对象类型,如条形图使用条形几何图像

ggplot(data=mpg)+
  geom_smooth(mapping = aes(x=displ,y=hwy,linetype=drv)
image.png

如果想要得到这个图形:


image.png

刚开始自己写的

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

或者

ggplot(data=mpg,mapping=aes(x=displ,y=hwy,color=drv))+
  geom_point()+
  geom_smooth(mapping = aes(linetype=drv))
上一篇下一篇

猜你喜欢

热点阅读