文章目录

  • 第三章 数据探索
  • 3.1数据质量分析
    • 1.主要任务
    • 2.缺失值分析
    • 3.异常值分析
    • 4.一致性分析
  • 3.2数据特征分析
    • 1.分布分析
    • 2.对比分析
    • 3.统计量分析
    • 4.周期性分析
    • 5.相关性分析
  • 3.3 R语言主要数据探索函数
    • 1.统计特征函数
    • 2.统计作图函数

第三章 数据探索

  • 什么是数据探索
    数据探索:检测数据,了解数据,这一步只做数据的分析,下一步针对这一步的分析结果,做数据的预处理。
    书上的定义:对样本数据集的结构和规律进行分析的过程就是数据探索。数据探索有助于选择合适的数据预处理和建模方法。
    为什么叫套路的总结:比如你初到某个地方,要了解这个地方,第一件事情就是可以随便逛随便观察,了解这个地方的结构,数据探索就是做这个事情的。

  • 分类
    数据质量分析。
    数据特征分析。

3.1数据质量分析

1.主要任务

  • 缺失值。
  • 异常值,甚至不一致的值。
  • 重复数据。
  • 含有特殊符号的数据(如% # /等)。

2.缺失值分析

  • 缺失值产生的原因:各种原因。
  • 主要内容:缺失值的个数;缺失率。
  • 处理方式:对缺失值进行插值或者直接删掉。
    • 注意:这个不是数据质量分析,这个是数据预处理的内容。

3.异常值分析

  • 异常值也称为离群点,异常值也称为离群点分析。
  • 简单统计量分析:对变量做一个描述型统计,最常用的统计量是最大值和最小值,用来判断这个变量是否有问题。
    • 如客户年龄这个变量最大值为199岁,则易知这个变量取值存在异常。
  • 3delta原则:如数据服从正态分布,则取值与mean超过3标准差的值为异常值。-> 极小概率事件为异常值。

- 箱形图分析

  • QU:上四分位置——数据按大小分四段,中段(2和3)最上面值。
  • QL:下四分位。
  • IQR:四分位间距
  • 箱形图分析:异常值通常被定义为小于QL -1.5IQR或大于QU +1.5IQR的值。

缺失值——complete.cases() 帮助系统 ?complete.cases

> ?complete.cases
> saledata=read.csv(file = "G://!!aaclassnew//R语言//20181011//catering_sale.csv",header = TRUE)
> View(saledata)
> attributes(saledata)
> str(saledata)
> complete.cases(saledata)


> #利用setwd设置工作空间
> setwd("G:\!!aaclassnew\R语言\20181011")
Error: '\!' is an unrecognized escape in character string starting ""G:\!"
> setwd("G:/!!aaclassnew/R语言/20181011")
> #读入数据
> saledata=read.csv(file="catering_sale.csv",header = T)
> #缺失值检测并打印结果,利用sum()和mean()函数来分别获取缺失样本数、缺失比例
> sum(!complete.cases(saledata))
[1] 1
> sum(complete.cases(saledata))
[1] 200
> mean(!complete.cases(saledata))
[1] 0.004975124
> saledata[!complete.cases(saledata),]日期 销量
15 2015/2/14   NA
> #异常值检测箱线图
> sp=boxplot(saledata$"销量",boxwex=0.7)
> title("销量异常值检测箱线图")
> xi=1.1
> sd.s=sd(saledata[complete.cases(saledata),]$"销量")
> mn.s=mean(saledata[complete.cases(saledata),]$"销量")
> points(xi,mn.s,col="red",pch=18)
> arrows(xi,mn.s-sd.s,xi,mn.s+sd.s,code = 3,col = "pink",angle = 75,length = .1)
> text(rep(c(1.05,1.05,0.95,0.95),length=length(sp$out)),labels = sp$out[order(sp$out)],
+      + sp$out[order(sp$out)]+rep(c(150,-150,150,-150),length=length(sp$out)),col = "red")

4.一致性分析

  • 是指数据相互矛盾,不一致。
  • 常发生在不同数据源集成的过程中。

3.2数据特征分析

1.分布分析

对数据整体的一个可视化,从而对数据有个大致的认识。

  • 计算出变量的频率分布表,并画出频率分布直方图。
  • 基本步骤——就是画频率直方图的步骤:
    • 求出极差:最大值-最小值
    • 决定组距和组数
    • 决定画图时分布区间
    • 列出频率分布表
    • 绘制直方图

2.对比分析

对两个或多个变量进行比较分析。
绝对值对比或相对值对比。

3.统计量分析

常用指标:集中趋势和离中趋势。

  • 集中趋势量

    • 均值/期望:什么是均值;什么是期望。
    • 中位数:中间那个位置的数——思考偶数个数值和基数个数值的处理。
    • 众数:数据集中出现最频繁的值——不具唯一性。
  • 离中趋势量
    • 极差
    • 标准差
    • 变异系数:标准差相对于均值的离中趋势。
    • 四分位数间距
    setwd("G://!!aaclassnew//R语言//20181011")saledata=read.table(file="catering_sale.csv",sep = ",",header = TRUE)sales=saledata[,2]#统计量分析#均值mean_=mean(sales,na.rm=T)#中位数median_=median(sales,na.rm=T)#极差range_=max(sales,na.rm=T)-min(sales,na.rm=T)#标准差std_=sqrt(var(sales,na.rm=T))#变异系数variation_=std_/mean_#四分位数间距q1=quantile(sales,0.25,na.rm = T)q3=quantile(sales,0.75,na.rm = T)distance=q3-q1a=matrix(c(mean_,median_,range_,std_,variation_,q1,q3,distance),1,byrow = T)colnames(a)=c("均值","中位数","极差","标准差","变异系数","1/4分位数","3/4分位数","四分位间距")print(a)

4.周期性分析

画出变量值-时间轴曲线。

5.相关性分析

  • 相关关系:若变量之间存在密切的关系,但又不能由一个或几个变量的值确定另一个变量的值,当自变量x取一定值时,因变量y的值可能有多个,这种变量之间的非一一对应的、不确定的关系,称为相关关系。
  • 相关性分析:分析连续变量之间线性相关程度的强弱,并用统计指标表示出来的过程。
  • 分析方法:
    • 可视化——直接绘制散点图:

      • 完全相关:一个变量的取值完全取决于另一个变量。
      • 相关
      • 不相关
    • 计算相关系数:
      • Pearson相关系数——要求连续变量取值服从正态分布。

setwd("G:/!!aaclassnew/R语言/20181011")
cordata=read.csv(file = "catering_sale_all.csv",header = T)
cor(cordata[,2:11])

3.3 R语言主要数据探索函数

1.统计特征函数

算术平均数:n<-mean(X)。
- X可为向量、矩阵或多维数组:当成一维计算所有元素的平均值。

  • 方差var(): v<-var(X)。

    • 若X为向量,计算向量的样本方差;若X为矩阵,则v为各列矩阵向量的样本方差构成的行向量。
  • 标准差sd():s=sd(X)——类似var()
  • 相关关系矩阵cor():
    • R<-cor(x,y=NULL,use=“everything”,method=c(“person”,”Kendall”,”spearman”))
    • 计算列向量x,y的相关系数矩阵R。
    • use,method参数取值。
  • 协方差矩阵cov(): R<-cov(x)
    • 若x为向量,R表示x的方差;x为矩阵,cov(x)计算协方差矩阵
    • cov(x,y):其中x,y为长度相等的列向量相当于 cov(cbind(x,y))

2.统计作图函数

barplot(x):画条形图。
X可为向量或矩阵。若x为矩阵,依次按列画出条形图。


二维条形直方图
hist(x,freq=TRUE)
X为向量;
把x中的数值自动分组,各组组距相等,条形图每一条的高度表示频率或者频数——频数条形图;频率条形图。
breaks用来设置分组
- 其为一个数值向量时,则为其分组
- 若为一个整数,代表建议R所采取的分组数。
与barplot区别:
- 条形图中间有间隔,多用于分类数据作图。
- 直方图各条中间没有间隔,多用于连续型数据分段作图


箱图:boxplot
箱图:boxplot(x)—绘制向量x的箱形图
中间的箱子的上下边,分别是第三,一个四分位数。
中间的黑线是第二四分位数(中位数)。
设r是变量的四分位距,箱图上方的小横线是小于或等于第三个四分位数+1.5r的最大观测值。同时下方的小横线是,大于等于第一个四分位数减去1.5r的最大的观测值。
图中的小白圈,代表很大可能性上是离群点(outlier).(在其他图中也适用)

函数图/散点图:plot(x,y)
X、y为向量;以x为横轴,y为重轴,画图。
参数teype指定绘图样式
- “o”:散点
- “l”:曲线
- “b”:点线混合
单变量散点图:dotchat(x)
- x为向量或者矩阵,若为矩阵则按列画散点图,然后拼到一起。

R语言学习(二)数据分析数据探索相关推荐

  1. R语言学习之数据分析实战(一)

    R语言学习之数据分析实战(一) 一.线性回归 回归(regression):通常指那些用一个或多个预测变量,也称自变量或解释变量,来预测响应变量,也称为因变量.效标变量或结果变量的方法. 普通最小二乘 ...

  2. R语言学习二——工具的使用

    R语言学习(二) 本章学习R语言相关开发工具的使用: 软件下载 软件安装 RStudio的使用 R扩展包的安装与载入 容易遇到的问题 一.软件下载(RStudio) Rstudio下载地址 选择免费版 ...

  3. R语言学习10-查看数据

    当我们处理一个新的数据集的时候,第一件事就是要对数据做一个了解.数据的格式是什么?数据的维度是多少?变量名是什么? 变量如何存储? 是否缺少数据? 数据中是否有任何缺陷? 本次课将学习如何使用R的内置 ...

  4. r语言electricity数据集_R语言学习10-查看数据

    当我们处理一个新的数据集的时候,第一件事就是要对数据做一个了解.数据的格式是什么?数据的维度是多少?变量名是什么? 变量如何存储? 是否缺少数据? 数据中是否有任何缺陷? 本次课将学习如何使用R的内置 ...

  5. 2015CDAS中国数据分析师行业峰会:R语言量化投资数据分析应用

    跨界知识聚会系列文章,"知识是用来分享和传承的",各种会议.论坛.沙龙都是分享知识的绝佳场所.我也有幸作为演讲嘉宾参加了一些国内的大型会议,向大家展示我所做的一些成果.从听众到演讲 ...

  6. R语言零基础基因/数据差异分析(二)

    文章目录 结果展示 安装ggplot2包 制作方法 注意,本 系列 有连贯性,每一步都很详细,每一步都很重要,请耐心读完!! 结果展示 安装ggplot2包 如图操作 找到并勾上即可. 制作方法 关于 ...

  7. 价值1143元的《R语言统计分析微生物组数据(Statistical Analysis of Microbiome Data with R)》系列图书

    文章目录 <R语言统计分析微生物组数据> 本书简介 作者简介 章节简介 猜你喜欢 写在后面 <R语言统计分析微生物组数据> Statistical Analysis of Mi ...

  8. R语言学习笔记(1~3)

    R语言学习笔记(1~3) 一.R语言介绍 x <- rnorm(5) 创建了一个名为x的向量对象,它包含5个来自标准正态分布的随机偏差. 1.1 注释 由符号#开头. #函数c()以向量的形式输 ...

  9. r语言c函数怎么用,R语言学习笔记——C#中如何使用R语言setwd()函数

    在R语言编译器中,设置当前工作文件夹可以用setwd()函数. > setwd("e://桌面//") > setwd("e:\桌面\") > ...

  10. R语言学习手记 (1)

    R语言学习手记 (1) 经管的会计和财管都会学数据统计与分析R语言这门课,加上我也有点兴趣,就提前选了这门课,以下的笔记由老师上课的PPT.<R语言编程艺术>和<R语言数据科学> ...

最新文章

  1. 谨慎使用PHP的引用
  2. 【Java框架】 Hibernate与Mybatis对比
  3. Applications模块解析(一)
  4. 循环队列之舞伴问题(含源码详解)
  5. ITK:Mersenne Twister随机整数生成器
  6. java arraylist底层实现原理_ArrayList和LinkedList底层原理
  7. Python分析「我们为什么这么穷」
  8. idea导入ssm项目_一个简洁的适合 Java 小白练手的“秒杀”项目
  9. 火速拿来用!对比近 10,000 个 Python 开源项目发现最实用的 TOP34!
  10. css displayhidden
  11. linux的dhcp的安装,linux下DHCP的安装配置
  12. 51单片机仿真设计项目大全
  13. 服务器安全防护措施有哪些?
  14. python input隐藏输入_python输入input
  15. 计算机专业我的生涯规划档案,大学生学业生涯规划登记表11.doc
  16. 游戏史上80重要创新(原资料来自17173)
  17. 数据库原理和应用(2)—— 数据库系统的组成
  18. 线上知识付费潮流中的青年人:寻找消费与求知的平衡点
  19. 电脑重装Win10如何选择32位和64位的系统
  20. 以太网2出现两个ip地址-解决办法

热门文章

  1. Linux电脑怎么接投影,linux如何连接投影机
  2. PCM音量控制(高级篇)
  3. 计算机的音量打不开,电脑的音量控制打不开怎么办
  4. vs mysql 开发erp_ERP vs MRP的区别
  5. 聚类的方法、原理以及一般过程
  6. 网易im 服务器消息格式,网易云信快速集成以及消息类型自定义
  7. 几个小图像处理工具网址
  8. 希捷k7换固件开跑成功
  9. 从12306获取全国火车站的字典
  10. tiny6410裸机实验第0章--------------开发环境的搭建(USB转串口)