直方图

2018-09-03

2018-09-03
直方图

1 数据准备


library(readxl)  
jsdata=read_excel("D:/TASK/净水器建模(1月19日)副本1.xlsx") 
str(jsdata)
## Classes 'tbl_df', 'tbl' and 'data.frame':    1011 obs. of  20 variables:
##  $ 标题      : chr  "惠安特水龙头净水器家用厨房直饮净水机双出水智能纯水机ro反渗透" "爱华普净水器家用直饮加热一体机RO反渗透纯水机厨房自来水过滤器" "【新品上市】史密斯佳尼特550G无桶大流量净水器CDR550-A1" "碧云泉净水器家用直饮加热一体机自来水过滤器反渗透净水机器R506" ...
##  $ 原价      : num  1664 6990 4998 4999 2099 ...
##  $ 促销价    : num  499 1298 1099 558 1188 ...
##  $ 销量      : num  845 550 121 103 850 ...
##  $ 评价      : num  2849 3049 129 378 2054 ...
##  $ 天猫积分  : num  49 129 369 469 86 49 89 86 269 109 ...
##  $ 描述评分  : num  4.8 4.9 4.9 4.9 4.9 4.9 4.8 4.9 4.9 4.9 ...
##  $ 服务评分  : num  4.8 4.8 4.9 4.9 4.9 4.8 4.8 4.9 4.9 4.9 ...
##  $ 物流评分  : num  4.9 4.8 4.9 4.9 4.8 4.9 4.8 4.9 4.8 4.9 ...
##  $ 人气      : num  6590 12879 456 15450 11537 ...
##  $ 保修期    : chr  "1年" "1年" "1年" "2年" ...
##  $ 店铺分类  : chr  "官方旗舰店" "官方旗舰店" "官方旗舰店" "官方旗舰店" ...
##  $ 智能类型  : chr  "其他" "其他" "不支持智能" "其他" ...
##  $ 颜色      : chr  "白色" "黑色" "白色" "黑色" ...
##  $ 使用位置  : chr  "终端净水" "终端净水" "终端净水" "终端净水" ...
##  $ 功效      : chr  "直饮" "直饮" "直饮" "直饮" ...
##  $ 净水器品牌: chr  "Huianter/惠安特" "爱华普" "CHANITEX/佳尼特" "碧云泉" ...
##  $ 分类      : chr  "纯水机" "净水机;纯水机" "净水机;纯水机;反渗透纯水机" "净水机;纯水机;台面净水器;反渗透纯水机" ...
##  $ 工作原理  : chr  "反渗透" "反渗透" "反渗透" "反渗透" ...
##  $ 滤芯      : chr  "活性炭;RO膜" "活性炭;活性炭;超滤;PPF棉;RO膜" "活性炭;RO膜" "活性炭;RO膜;PP棉,活性炭纤维" ...

  由数据结构信息得知,该净水器数据包含20个变量(字段),1011条样本量。

2 直方图


  直方图主要是对连续型的变量进行数据分布展示。直方图是将值的范围分段,即将整个值的范围分成一系列间隔,然后计算每个间隔中有多少值。这些值通常被指定为连续的,不重叠的变量间隔。间隔必须相邻,并且通常是(但不是必须的)相等的大小。

2.1 绘制简单直方图

  绘制直方图可以查看数据集中数据的分布特征。简单直方图的绘制方法为:hist(数据集$变量名,xlab=“轴标签”,ylab=“频数”,main=“”,ylim=c(1,n),xlim=c(1,n))

  其中,xlab表示自变量标签,ylab表示因变量标签,main表示图形标题,col表示图形颜色,ylim和xlim表示的是X轴和Y轴设置的范围。

  假设数据集中研究的主要因素是销量,则此处的销量称为因变量(被解释变量),再对销量的影响指标等分析之前,可对因变量的数据趋势进行可视化分析,判断因变量的取值范围和数据的集中趋势,常对因变量绘制直方图分析,如下所示:

hist(jsdata$销量,xlab="销量",ylab="频数",col="lightgreen",main="")#绘制直方图

  从上图可以看出,数据集的分布较为分散,在2000到12000之间,直方图趋近与和X轴重合,直方图的分布值不能体现出来。原因是销量为连续型数值变量,且销量的数值较大,超过整体范围,存在较大的极差。同时,随着自变量的变化,因变量也在发生变化,为了让这种波动达到稳定,克服方差带来的影响,可对数据进行简单的对数处理,使得数据的趋势走向更为明显,绘制直方图。如下所示:

jsdata$销量=log(jsdata$销量+1)  #因变量数值作对数处理
hist(jsdata$销量,xlab="销量",ylab="频数",col="lightgreen",main="")#绘制直方图

  上图是对净水器数据中的因变量销量对数转化后的直方图,从图形可以看出,销量呈右偏分布。

2.2 ggplot绘制直方图

  基本书写语法为:ggplot(数据,aes(x=因变量))+geom_histogram(binwidth=组距,fill=“图形填充色”,colour=“边框线颜色”)

  其中aes(x=因变量)表示坐标,geom_histogram()表示绘制直方图,fill表示图形的填充色,colour表示图形边框的颜色,binwidth表示组距。绘制如下所示:

  如上图,利用ggplot2包绘制直方图,以uspopchange数据为例,Change在直方图中为横坐标,图形填充色为深灰色,边框线为黑色。

3 本章汇总


参数 类别 功能
readxl 读取EXCEL数据包
hist 函数 绘制直方图
ggplot2 图形的绘制
geom_histogram 函数 直方图绘制