您的位置:首页 > 其它

R语言|数据预处理--5异常值分析及处理

2016-10-04 15:40 381 查看
数据集接《3缺失值离群点处理》中2
1、异常值分析及处理
#获取月收入的异常值
out <-boxplot.stats(traindata$x5)
boxplot(traindata$x5)
# which(traindata$x5%in% out)
# traindata1 <-traindata[-which(traindata$x5 %in% out)]
#boxplot(traindata1$x5)
 
#首先对于x2变量,即客户的年龄,我们可以定量分析,发现有以下值
unique(traindata$x2)
#可以看到年龄中存在0值,显然是异常值,予以剔除。
traindata <-traindata[-which(traindata$x2==0), ]
 
#对于x3,x7,x9三个变量,由下面的箱线图可以看出,均存在异常值,且由unique函数可以得知均存在96、98两个异常值,因此予以剔除。同时会发现剔除其中一个变量的96、98值,其他变量的96、98两个值也会相应被剔除
unique(traindata$x3)
traindata <-traindata[-which(traindata$x3 %in% c(96, 98)), ]
 
unique(traindata$x7)
traindata <-traindata[-which(traindata$x7 %in% c(96, 98)), ]
 
#当把x3和x7中的异常值删除后,x9中的异常值也被删除了
unique(traindata$x9)
 
 
2、离群点
1)、检测方法:boxplot(箱线图)和k-means检测
2)、处理方法:①与该领域专家研究确定,可能属于正常情况,此时应保留这些值;②可能是离群点,在建模时删除这些值;③数据重构不需要删除离群点,使用记录中的均值或中位数进行替换。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  r语言 数据清洗