开发者学堂课程【大数据之 R 语言速成与实战:R 实列—预测海藻数量之数据预处理】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/363/detail/4345
R 实列—预测海藻数量之数据预处理
目录
一、数据缺失处理
二、处理缺失值常见的的策略
三、观察缺失值
四、如何处理缺失值
一、 数据缺失处理
在许多水样中,一些变量含有缺失值。这种情形在现实问题中非常普遍这会导致不能处理缺失值的分析方法无法应用。
二、 处理缺失值通常有以下几种常见的策略:
1、见含有缺失值的记录剔除
2、根据变量之间的相关关系填补缺失值;
3、根据案列之间的相似性填补缺失值。
三、 观察缺失值
导入数据 :> 1ibrary(DMwR)
L oading required package: lattice
L oading required package: grid
warning message :
package ‘DMwR’was built under R version 3.2.5x
通过函数:agae[lcomplete. cases(algae),]|可以把含有缺失值的记录提取出来
含有是十六条缺失值
含有多缺失值的寻找方法用函数:manyNAs(algae)可以反馈出来:【1】 02 19判断缺失值多少:manyNAs(algae,0.2)中0.2的意思如果他的属性缺失的属性超过所有属性的百分之二十我们就能把他提取出来.
四、如何处理这些缺失值
1、把有缺失值的记录删除,分析方法就不存在报错
2、根据变量之间的相关关系来填补缺失值,列如第一个字段和第二个字段他们的相关性比较高达到 1,我们就可能找到他们的相关函数 比如 a1 是齐全的 a2 是缺失的 我们就可以通 a1 相关函数计算出 a2
3、案例之间的相似性来填补
实例:
方法一:
对计数值多的
后面输入:> X <- algae
> y <. OITLCXJ
1-.211 17.47
得到的y就是没有缺失值
改为> y[! complete. cases (y) 得到就是不含缺失值的(这种就是直接删除)
方法二:
先找相关变量关系:输入 cor(algae[,4:18] , , use=”comp lete. obs"|
可以得到第四个字和第十八个字之间的相关关系
如果结果看不清楚就可以输入:> symnum(cor(a1gae[
4:18]
,use="complete. obs"))
,使结果可视化
相关性就变得特别高
大概看出 po4 与 opo4 属性相似最近接1 就可以用一个推另一个
获取他们的相关性:
> x <- algae [-manyNAs (algae)
, ]
1m(P04~oP04
,data=x)
公式:PO4=42.897+1.293xOPO4,
以计算结果
方法三:
两百条记录比较 求他们距离值,比如采取欧式句,相同的字段做减法再开平方根,可以得出不同的平记录数之间的差值 ,把差值最小的依次排序得到最相近的十条记录,有些记录不齐全的,不存在缺失值, 有些是有少缺失,那么我们就把有缺失值的所在的字段,列外的一些存在的值求他们的中位数。就是某些字段他们之间相似就可以来填补缺失值