数据介绍
实验3 数据探索与预处理
1.数据探索
缺失值分析
计算缺失值个数。
计算缺失率。
> setwd("G:/!!aaclassnew/R语言/20181011")
> saledata=read.csv(file = "bank-data.csv",header = TRUE)
> sum(!complete.cases(saledata))
[1] 6
> mean(!complete.cases(saledata))
[1] 0.01
异常值分析
简单统计量:计算最值。
箱形图分析。
> setwd("G:/!!aaclassnew/R语言/20181011")
> saledata=read.csv(file = "bank-data.csv",header = TRUE)
> sp=boxplot(saledata$income,boxwex=0.7)
> title("银行异常值检测")
> xi=1.1
> sd.s=sd(saledata[complete.cases(saledata),]$income)
> mn.s=mean(saledata[complete.cases(saledata),]$income)
> points(xi,mn.s,col="red",pch=18)
> arrows(xi,mn.s-sd.s,xi,mn.s+sd.s,code = 3,col = "blue",angle = 75,length = .1)
分布分析:画出频率直方图。
统计量分析:对于连续属性值,求出均值以及标准差。
> dataa=saledata[,5]
> dataa
> hist(dataa,xlab = "Weight",col = "blue",border = "red",ylim = c(0,20),breaks = 2000)
> sales=saledata[,5]
> mean_=mean(sales,na.rm = T)
> mean_
[1] 27514.46
> std_=sqrt(var(sales,na.rm = T))
> std_
[1] 12821.21
2.数据预处理
缺失值处理:删除法。
> n=sum(is.na(dataa))
> n
[1] 6
> sub=which(is.na(dataa))
> sub
[1] 456 457 458 459 460 461
> dataa1=dataa[-sub]
> dataa1
去除无用属性:删除“ID”属性。
> data2=saledata[,c(2:12)]
> data2
离散化:把“Children”属性转换成分类型的两个值“YES”和“NO”;把income属性按照节点12640.3;17390.1;29622;43228.2离散化。
> for(i in 1:600)
+ {
+ if(saledata[i,7]>0){saledata[i,7]="YES";}
+ else {saledata[i,7]="NO";}
+ }
> saledata
> saledata=read.csv('bank-data.csv',he=T)
> v=sort(saledata[,5])
> v