以下是前6个tasks的总结,按照每个task学到的知识罗列:

Task1 背景介绍


Task2 数据分析

数据读取

mydata<-read.csv(file.choose())  #读取csv格式的数据表
 edit(mydata)  #编辑查看数据表
 summary(mydata)  #汇总(可查看最小值、最大值、分位数、缺失值)

直方图

breaks2<-seq(420,120945,1607)  #设置直方图最小值420、最大值120945、间距1607(需整除,得到柱子个数)
 hist(mydata$收入,breaks = breaks2,main="收入水平频率直方图",col = "olivedrab", border = "white",
      xlab="收入:元",ylab="频率")  #绘制频数直方图hist(mydata$收入,breaks = breaks2, freq= FALSE, 
      include.lowest = TRUE,right = TRUE,
      density =1000, col = "olivedrab", border = "white",
      main="收入水平密度直方图",xlab="收入:元",ylab="频率")

#绘制密度直方图,freq=false代表密度直方图,density表示直方图斜杠密度,数值越大越密集

lines(density(mydata$收入))  #绘制密度曲线

箱线图

boxplot(mydata$收入~mydata$是否按期还款,main="收入水平与是否按时还款箱线图",
         xlab="是否按时还款",ylab="收入水平")

#前面的变量是纵坐标,后面的变量是横坐标,自动分类;对比箱线图

条形图

install.packages("vcd",destdir = "D:/R_projects")
 library(vcd)counts<-table(mydata$教育水平)
 counts
 barplot(counts,main="所有贷款人教育水平",xlab="教育水平",ylab="人数",col="grey",
         names.arg=c("1","2","3","4"))

#总体条形图(纵坐标不分类统计)如图1;(根据教育水平分四类添加names.arg)

按期还款=with(mydata,
                  c(sum((是否按期还款==1)[which(教育水平=="1")]),
                    sum((是否按期还款==1)[which(教育水平=="2")]),
                    sum((是否按期还款==1)[which(教育水平=="3")]),
                    sum((是否按期还款==1)[which(教育水平=="4")])))


按期还款

barplot(按期还款,names.arg=c("1","2","3","4"),
                   main = "按时还款的客户受教育水平条形图",
                   xlab="教育水平",ylab="人数")

#纵坐标有条件分类统计 如图2;用with组合条件

未按期还款=with(mydata,
                c(sum((是否按期还款==0)[which(教育水平=="1")]),
                  sum((是否按期还款==0)[which(教育水平=="2")]),
                  sum((是否按期还款==0)[which(教育水平=="3")]),
                  sum((是否按期还款==0)[which(教育水平=="4")])))


未按期还款

barplot(未按期还款,names.arg=c("1","2","3","4"),
                 main="未按时还款的客户受教育水平条形图",
                 xlab="教育水平",ylab="人数")

#纵坐标有条件分类统计 如图3

r语言直方图拟合abline r语言直方图breaks_最小值

合并条形图

data_bar=rbind(未按期还款,按期还款)
 data_barbarplot(data_bar,names.arg=c("1","2","3","4"),
         main="是否按时还款客户的教育水平分布",
         xlab="教育水平",ylab="人数",col=c("olivedrab","darkgrey"))
 legend(x="topright",rownames(data_bar),fill=c("olivedrab","darkgrey"))# rbind()函数组合两个条形图,“,”隔开表示累加,如图4,可比较图1;lengend()用作图例调整
data_per=rbind(未按期还款/是否按期还款_教育水平)
 data_per
 barplot(data_per,names.arg=c("1","2","3","4"),
                   main="不同受教育程度的违约用户比例",
                   xlab="教育水平",ylab="违约比例",col = "olivedrab")

# “/”表示相除,可做比例条形图,如图5;经济意义为违约率

r语言直方图拟合abline r语言直方图breaks_直方图_02