概述
查询包含缺失值的总行数
缺失值包括:NA,NULL和0值等
1、NA值处理:
判断为NA的坐标:which(is.na(a)) [1] 4 注意:任意值与NA算术操作都为NA
> n.missing <- rowSums(is.na(cup98)) #求每行的缺失值总个数
> tab.missing<- table(n.missing)
> tab.missing
n.missing
0 1 2 3 4 5 6 7
6782 36864 23841 13684 11716 2483 41 1
2、查询缺失值的分布及处理
1)读取数据集: https://www.kaggle.com/c/GiveMeSomeCredit/data
data <- read.csv(file="F:\R\数据集\P2P\信用评分模型\cs-training.csv", row.names=F)
#去掉id
data1 <- data[,-1]
head(data1)
#对列进行重命名
names(data1) <-c("y", paste("x", 1:10, sep = ""))
2)查看数据集的缺失值分布
library(mice)
#matrixplot(data1)
md.pattern(data1)
#可以看到x5变量和x10变量,即MonthlyIncome变量和NumberOfDependents两个变量存在缺失值;monthlyincome列共有缺失值29731个,numberofdependents有3924个
3)对于缺失值的处理方法非常多,例如基于聚类的方法,基于回归的方法,基于均值的方法,其中最简单的方法是直接移除,但是在本文中因为缺失值所占比例较高,直接移除会损失大量观测,因此并不是最合适的方法。在这里,我们使用KNN方法对缺失值进行填补。
library(DMwR)
traindata <-knnImputation(data1,k=10,meth = "weighAvg")
#write.csv(traindata, "F:\R\数据集\P2P\信用评分模型\cs-training-na.csv")
str(traindata)
最后
以上就是等待铃铛为你收集整理的R语言|数据预处理--3缺失值离群点处理的全部内容,希望文章能够帮你解决R语言|数据预处理--3缺失值离群点处理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复