1. 程式人生 > >R語言實驗:資料探索

R語言實驗:資料探索

資料介紹

  1. 使用銀行對資產進行評估的資料bank-data.csv,資料裡有12個屬性,分別是id,age,sex,region,income,married,children, car, save_act,   current_act, mortgage,pep.共600個例項。
  2. 本測試集中將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