用R语言来实现完整数据集不同比例的缺失(完全随机缺失)

    xiaoxiao2022-06-26  269

     

    为了验证自己填补算法的好坏,一般采用完整数据集进行人为缺失,缺失机制为完全随机缺失(Missing Completely At Random, MCAR),我们可以按照不同的比例,设定缺失率为5%,10%,15%,... ,50%等。

    R语言中,simFrame包可以直接对数据进行缺失处理。

    一个数据集如下所示,为csv文件,这里我在第一行加上了label序号。

    对该数据进行不同比例的缺失。

    R语言操作如下:

    1. 导入simFrame包

    > library(simFrame)

    当然前一步还是要先下载simFrame包  install.packages("simFrame")

    2. 读取你的完整数据集(csv文件)

    > data<-read.csv("D://statlog.csv",sep=",") > dataFrame<-as.data.frame(data)

    这里,dataFrame存放的就是你的标准数据集

    3. 设置缺失率并将数据集缺失处理。

    > nac<-NAControl(NArate=0.1) > x<-setNA(dataFrame,nac)

    我设置的缺失率为10%,可以自己调整。

    4. 将有缺失的数据集输出保存为csv文件

    > write.table(x,file="D:\\statlog5.csv",sep=",",quote=TRUE)

    输出文件中,第一列和第一行是生成的num和label编号,可直接删除。最后结果如下:


    最新回复(0)