關於R語言字符型數據清洗問題

最近做一個預測關於投資者是否再次投資的項目,需要針對客戶導出的數據進行清洗後建模分析,我目前選擇的模型是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了,下一篇文章我來告訴大傢俱體解決方法。

發佈了24 篇原創文章 · 獲贊 16 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章