R语言初步-探索性数据分析EDA-1

R语言学习笔记总结


R语言初步-探索性数据分析-EDA

探索性数据分析:(exploratory data analysis) ,简称EDA。

用可视化的方法和数据转换来系统化探索数据
是一个可迭代的循环过程
是一种思考逻辑

  1. 对数据提出问题
  2. 对数据进行可视化、转换和建模,找出问题的答案
  3. 使用上一个步骤的结果精炼问题,提出新的问题
  4. ...

包括可视化、数据转化、建模三个部分
可以用于数据清洗

library(tidyverse) #记得先加载所需要的包

1.对分布进行可视化表示

变量是分类变量还是连续变量?

例如之前用过的:
生成条形图,展示不同cut钻石的计数结果,cut这个参数的性质决定了它是一个分类变量,所以适合用条形图展示。

ggplot(data=diamonds)+
  geom_bar(mapping=aes(x=cut))
对分布进行可视化表示 .png

条形图中的y轴是geom_bar()函数自行计算的结果,也可以用dplyr::count手动计算:
dplyr::count表示调用dplyr中的count()函数

diamonds %>%
  count(cut)

#运行:
# A tibble: 5 x 2
  cut           n
  <ord>     <int>
1 Fair       1610
2 Good       4906
3 Very Good 12082
4 Premium   13791
5 Ideal     21551

再比如,有些参数就是连续性的,比如钻石的克拉数carat,所以适合用直方图展示:
直方图会对x轴进行等宽分箱,binwidth参数可以控制间隔宽度,合适的间隔宽度可以揭示不一样的数据特征。比如下面三张图片的区别:binwidth 分别等于0.5、1.0、0.1。

ggplot(data=diamonds)+
  +   geom_histogram(mapping=aes(x=carat),binwidth =0.5)

binwidth=0.5
binwidth=1.0
binwidth=0.1

后台自动将分布在某区域内的钻石技术算出总和,展现在图中。如果想看到具体的图表,可以用dplyr::count()函数和ggplot2::cut_width()手动计算:

代码如下:

diamonds %>%
  count(cut_width(carat,0.5))

#运行:
# A tibble: 11 x 2
   `cut_width(carat, 0.5)`     n
   <fct>                   <int>
 1 [-0.25,0.25]              785
 2 (0.25,0.75]             29498
 3 (0.75,1.25]             15977
 4 (1.25,1.75]              5313
 5 (1.75,2.25]              2002
 6 (2.25,2.75]               322
 7 (2.75,3.25]                32
 8 (3.25,3.75]                 5
 9 (3.75,4.25]                 4
10 (4.25,4.75]                 1
11 (4.75,5.25]                 1

如果需要用直方图的逻辑展现多组数据,那么显然直方图本身的形式不再合适,此时我们可以选择折线图,叠加的折线图直观清晰:

ggplot(data=smaller,mapping=aes(x=carat,color=cut))+
  geom_freqpoly(binwidth=0.1)

#运行:生成折线图
叠加的折线图
EDA是个好东西呢
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容