R語言實驗:資料探索
阿新 • • 發佈:2018-11-05
資料介紹
- 使用銀行對資產進行評估的資料bank-data.csv,資料裡有12個屬性,分別是id,age,sex,region,income,married,children, car, save_act, current_act, mortgage,pep.共600個例項。
- 本測試集中將pep屬性作為分類的目標類別。
實驗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