关于R语言字符型数据清洗问题

最近做一个预测关于投资者是否再次投资的项目,需要针对客户导出的数据进行清洗后建模分析,我目前选择的模型是xgboost,貌似数据必须全是numeric。


数据结构如下:

关于R语言字符型数据清洗问题_第1张图片


在这个里面,我们需要做的是将第一列里面的‘是’替换为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

结果如下:

关于R语言字符型数据清洗问题_第2张图片


好了,字符替换大功告成!


后续我们将这些字符转码为numeric就可以导入xgboost进行建模分析了,不过时间变量转为字符串之后,再转为numeric就变成NA了,下一篇文章我来告诉大家具体解决方法。

你可能感兴趣的:(R语言)