美文网首页此地古同R语言
R小姐:温酒小酌数据分布,且看直方图

R小姐:温酒小酌数据分布,且看直方图

作者: 鲨瓜 | 来源:发表于2018-11-16 18:03 被阅读0次

    春风轻浮,开遍十里桃花,小酌温酒,难却焚香静卧。

    于直方图之间纵横捭阖,洞悉天下数据之分布。挥袖中浮尸千里、血流成河,转念间退却百万雄狮。

    气派呵!今日少年指点江山,扭转日月。

    1

    入门

    library(tidyverse)
    library(gcookbook)
    library(plyr)
    
    #入门
    #数据集 birthwt,直方图只传入一列数据
    ggplot(birthwt,aes(age)) +
      #绘制很丑的直方图,默认30个分组
      geom_histogram()
    
    image

    2

    进阶

    #进阶
    #调用数据集
    ggplot(birthwt,aes(age)) +
      #将数据分为15组,改变填充色和线的颜色
      geom_histogram(bins = 15,fill='white',colour='red')
    
    image
    #调用数据集
    ggplot(birthwt,aes(age)) +
      # range 返回最大及最小值,diff 求两值的差,于是得到区间长度,分为15组
      geom_histogram(binwidth = diff(range(birthwt$age))/15,
                     #填充色,颜色,线宽
                     fill='pink',colour='red',size=0.6) +
      #更改X轴的标签
      xlab(label = 'Age') +
      #更改Y轴的标签
      ylab(label = 'Count') +
      #更改主题
      theme_bw() +
      #去除X、Y轴主刻度线
      theme(panel.grid.major = element_blank(),
            #去除X、Y轴次刻度线
            panel.grid.minor = element_blank(),
            #改变X轴文本的角度为60°
            axis.text.x = element_text(angle = 60,hjust = 1))
    
    image

    3

    精通

    #精通
    #复制一份数据
    birthwt_1 <- birthwt
    #将smoke列变为因子
    birthwt_1$smoke <- factor(birthwt_1$smoke)
    #将smoke中的0、1改为不吸烟、吸烟
    birthwt_1$smoke <- revalue(birthwt_1$smoke,c('0'='No smoke','1'='smoke'))
    ggplot(birthwt_1,aes(x=age)) +
      #填充色及线的颜色
      geom_histogram(fill='white',colour='black') +
      #用smoke以‘行’进行分面
      facet_grid(smoke ~ .)
    
    image
    #以smoke进行分组
    ggplot(birthwt_1,aes(x=age,fill=smoke)) +
      geom_histogram(position = 'identity',alpha=0.4,colour='black')
    
    image

    4

    密度曲线

    #绘制密度曲线
    ggplot(birthwt,aes(age)) +
      #默认
      geom_density() +
      #分组太细,出现锯齿
      geom_density(adjust=0.25,colour='red') +
      #分组较宽
      geom_density(adjust=3,colour='blue')
    
    image
    #将直方图与密度曲线绘制在一起
    #由于直方图与密度曲线的Y轴刻度不一致,因此要加 y=..density..
    ggplot(birthwt,aes(x=age,y=..density..)) +
      #绘制直方图,填充色,线颜色
      geom_histogram(fill='cornsilk',colour='grey60') +
      #绘制密度曲线,线颜色
      geom_density(colour='red')
    
    image
    #以smoke分组绘制密度曲线
    ggplot(birthwt_1,aes(x=age,fill=smoke)) +
      #调整透明度
      geom_density(alpha=0.4)
    
    image
    #将直方图与密度曲线绘制在一起并进行分面
    ggplot(birthwt_1,aes(x=age,y=..density..)) +
      #绘制直方图
      geom_histogram(fill='cornsilk',colour='grey60') +
      #绘制密度曲线
      geom_density(colour='red') +
      #利用smoke按照‘行’进行分面
      facet_grid(smoke ~ .)
    
    image

    疯也温柔,癫也温柔。数据带来的真实以数与形的呈现出来,这才是自然界最美的真实。

    下期再见。

    你可能还想看

    等你很久啦,长按加入古同社区

    image

    相关文章

      网友评论

        本文标题:R小姐:温酒小酌数据分布,且看直方图

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