专栏名称: 表哥有话讲
国内最大的R语言专业学习平台| R官方认证学习实践社区--校企实践交流、名企内推和成果分享,立即关注-掌握R语言全球最新资讯与成果!
目录
相关文章推荐
厦门日报  ·  紧急救援!事发同安一山谷,一女子不慎…… ·  12 小时前  
厦门日报  ·  空缺两年,中国田协新主席到任 ·  昨天  
51好读  ›  专栏  ›  表哥有话讲

哪些人最有可能欠钱不还?网贷平台贷款数据分析告诉你答案

表哥有话讲  · 公众号  ·  · 2017-11-14 11:50

正文

请到「今天看啥」查看全文



missmap(newloandata,main="Missing Value Of Loandata")

缺失值排在前三的是CreditGrade、ProsperRating.Alpha和EmploymentStatusDuration,其中前两个是信用等级,是由于2009年7月日后prosper平台对评级名词产生了变化,第三个是受雇佣状态保持时间。这三个指标都对贷款状态有影响,所以需要对缺失值进行补全。


3.3补全缺失值

3.3.1 EmploymentStatusDuration补全数值

首先是找到缺失值的位置:

###补充EmploymentStatusDuration
####找到EmploymentStatusDuration缺失的位置
which(newloandata$EmploymentStatusDuration %in% NA)

然后查看对应的EmploymentStatus的情况:

###查看相对应的EmploymentStatus的情况
newloandata$EmploymentStatus[which(newloandata$EmploymentStatusDuration %in% NA)]

此处的EmploymentStatus不是“NA”,就是“Not available”,因此可以将缺失的EmploymentStatusDuration以“0”补全:

###EmploymentStatusDuration以“0”补全
newloandata$EmploymentStatusDuration[which(newloandata$EmploymentStatusDuration %in% NA)] 

EmploymentStatusDuration缺失值已完全补充。

3.3.2 EmploymentStatus补全数值

用“Not available”补全EmploymentStatus数值:

###补充EmploymentStatus
###EmploymentStatusDuration以“Not available”补全
newloandata$EmploymentStatus[which(newloandata$EmploymentStatus %in% NA)] 

EmploymentStatus缺失值已完全补充。

3.3.3 CreditScoreRangeLower/CreditScoreRangeUpper补全数值

###将CreditScoreRangeLower/CreditScoreRangeUpper取两者平均值作为一个新的变量
newloandata$CreditScore 

缺失值还是存在,由于属于消费评分,因此可以考虑用中位数补充缺失值。

首先绘图查看是否可以用中位数补充数值:

###绘图看是否可用中位数补充缺失值
library(ggplot2)
library(ggthemes)
ggplot(newloandata,aes(x=CreditScore,))+
  geom_density(fill="pink",alpha=0.4)+
  geom_vline(aes(xintercept=median(CreditScore,na.rm = T)),colour="red",linetype="dashed",lwd=1)+
  theme_few()+ggtitle("The density of CreditScore")

从图中可以看出数值大部分集中在500到750之间,因此可以用中位数补充缺失值:

###用中位数补充缺失值
newloandata$CreditScore[which(newloandata$CreditScore %in% NA)] 

CreditScore缺失值已完全补充。

3.3.4 InquiriesLast6Months补全数值

绘图查看是否可以用中位数补充数值:

ggplot(newloandata,aes(x=InquiriesLast6Months,))+
  geom_density(fill="skyblue",alpha=0.4)+
  geom_vline(aes(xintercept=median(InquiriesLast6Months,na.rm = T)),colour="red",linetype="dashed",lwd=1)+
  theme_few()+ggtitle("The density of InquiriesLast6Months")

从图中可以看出数值大部分集中在0到20之间,因此可以用中位数补充缺失值:

###用中位数补充缺失值
newloandata$InquiriesLast6Months[which(newloandata$InquiriesLast6Months %in% NA)] 

InquiriesLast6Months缺失值已完全补充。

3.3.5 DelinquenciesLast7Years补全数值

绘图查看是否可以用中位数补充数值:

ggplot(newloandata,aes(x=DelinquenciesLast7Years,))+
  geom_density(fill="blue",alpha=0.4)+
  geom_vline(aes(xintercept=median(DelinquenciesLast7Years,na.rm = T)),colour="red",linetype="dashed",lwd=1)+
  theme_few()+ggtitle("The density of DelinquenciesLast7Years")

从图中可以看出数值大部分集中在0到10之间,因此可以用中位数补充缺失值:

###用中位数补充缺失值
newloandata$DelinquenciesLast7Years[which(newloandata$DelinquenciesLast7Years %in% NA)] 

DelinquenciesLast7Years缺失值已完全补充。

3.3.6 BankcardUtilization补全数值

绘图查看是否可以用中位数补充数值:

ggplot(newloandata,aes(x=BankcardUtilization,))+
  geom_density(fill="grey",alpha=0.4)+
  geom_vline(aes(xintercept=median(BankcardUtilization,na.rm = T)),colour="red",linetype="dashed",lwd=1)+
  theme_few()+ggtitle("The density of BankcardUtilization")

用中位数填充缺失值:







请到「今天看啥」查看全文