填充缺失值有很多种方法,比如用均值填充,用众数填充,今天介绍用算法模型的预测值填充的方法,包含两步骤,第一个是用已有的数据建模,第二个是用模型填充缺失值。这里以R里著名的iris数据集为例。
head(iris)
数据集总共150行5列,前6行长这样
我们把数据集第一列的前20行设为na
iris$Sepal.Length[1:20]=NA
新的数据集变成这样
但注意这里只是前20行没有值,后130行仍然有值,这时我们要做的是用Sepal.Width, Petal.Length, Petal.Width作为X构建一个线性回归模型去填充Sepal.Length。
首先我们构建一个没有na的数据集。
library(dplyr)
iris_for_regression=iris%>%filter(Sepal.Length!="NA")
去掉包含NA的行后,新的数据集130行5列,这时我们就可以用新的数据集构建一个线性回归模型了