最近做一個預測關於投資者是否再次投資的項目,需要針對客戶導出的數據進行清洗後建模分析,我目前選擇的模型是xgboost,貌似數據必須全是numeric。
數據結構如下:
在這個裏面,我們需要做的是將第一列裏面的‘是’替換爲1,第四列、第七列、第八列的字符也替換爲數字。
具體需求如下:
平臺標籤替換:0、NA;1、PC;2、WAP;3、IOS;4、andriod;
產品標籤替換:0、NA;1、新手專享;2、直投散標;3、定期寶;4、雙手計劃;5、新手標。
首先我們讀取數據,代碼如下:
hnjb<-read.csv('F:/Rdata/hnjb/投資用戶基礎信息表3.csv',na.string='NA',header=T)
然後我們將數據轉爲字符型,方便替換
hnjb[] <- lapply(hnjb, as.character)
準備完畢,開始替換
hnjb[is.na(hnjb)]<-0
hnjb[hnjb=='是']<-1
hnjb[hnjb=='pc']<-1
hnjb[hnjb=="wap"]<-2
hnjb[hnjb=='ios']<- 3
hnjb[hnjb=='android']<- 4
hnjb[hnjb=='新手專享']<-1
hnjb[hnjb=='直投散標']<-2
hnjb[hnjb=='定期寶']<-3
hnjb[hnjb=='雙收計劃']<-4
hnjb[hnjb=='新手標']<-5
結果如下:
好了,字符替換大功告成!
後續我們將這些字符轉碼爲numeric就可以導入xgboost進行建模分析了,不過時間變量轉爲字符串之後,再轉爲numeric就變成NA了,下一篇文章我來告訴大傢俱體解決方法。