R语言作图:ggplot2 分面(facet)相关设置

分面设置在ggplot2中是要经常用到的一项画图内容,在数据对比以及分类显示上有着极为重要的作用,我也是今天刚看到这个,觉得这个很有用,所以今天就写写ggplot2 的分面相关设置(facet)。

为什么要分面作图

我写一下自己的理解:比如我们作图,做x和y的关系,做出了如下的图:


我们发现红色的点其实有点偏,我们有理由相信有其他的变量调节了x和y的关系,所以我们现在的需求就是:能不能在某一个变量的不同水平都画出一个x和y的散点图以此来更加全面的把握x和y之间的关系。这个就是画图时候分面的作用啦。

分面画图实例操练

所用数据集为R自带的mpg数据集,数据集变量如下:

  • model 车型
  • displ 排量
  • year 生产年份
  • cyl 气缸数
  • trans 传输类型
  • drv 驱动形式
  • cty 每加仑城市里程
  • hwy 每加仑高速里程
  • fl 燃料类型
  • class 汽车品牌
  • 分面画图用到的方法是facet_wrap(),facet_wrap()方法的第一个参数为~加一个要分面的变量名,这个变量必须是离散型变量。

    比如,我现在想画出在不同的汽车品牌中,排量和每加仑高速里程的关系,用到的代码如下

    ggplot(data = mpg) + 
      geom_point(mapping = aes(x = displ, y = hwy)) + 
      facet_wrap(~ class, nrow = 2)

    看,我们的输出就是在每一个汽车品牌上排量和每加仑高速里程的关系

    这个例子是以一个变量作为分面变量,当然了,我们还可以用2个变量作为分面变量,此时就会复杂一点,需要用~把2个分面变量连起来。比如,我现在想看在特定驱动形式和气缸数的情况下,排量和每加仑高速里程的关系,我们就可以用以下代码:

    ggplot(data = mpg) + 
      geom_point(mapping = aes(x = displ, y = hwy)) + 
      facet_grid(drv ~ cyl)


    在上面的图中,不同的图对应着不同的驱动形式和气缸数的情况下,排量和每加仑高速里程的关系

    这个例子就给大家说明了分面变量有两个情况。

    小结

    今天给大家介绍了ggplot2中作图时分面变量的用法,用的好的话对探索性数据分析还是很有用的,感谢大家耐心看完。发表这些东西的主要目的就是督促自己,希望大家关注评论指出不足,一起进步。内容我都会写的很细,用到的数据集也会在原文中给出链接,你只要按照文章中的代码自己也可以做出一样的结果,一个目的就是零基础也能懂,因为自己就是什么基础没有从零学Python和R的,加油。

    (站外链接发不了,请关注后私信回复“数据链接”获取本头条号所有使用数据)

    R数据分析:如何用R做多重插补,实例操练

    R数据分析:如何用R做数据模拟

    举报
    评论 0