此地古同R语言

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

2018-11-16  本文已影响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
上一篇下一篇

猜你喜欢

热点阅读