学习小组Day4笔记-ZHX

作者: 周ZHX | 来源:发表于2020-10-02 08:20 被阅读0次

    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))
    

    相关文章

      网友评论

        本文标题:学习小组Day4笔记-ZHX

        本文链接:https://www.haomeiwen.com/subject/szdsuktx.html