验证数据集中是否有缺失值 sum(is,na(data)) 返回缺失值的个数
缺失值在哪 which(is.na(data), arr.ind=T) arr.int 返回缺失值相应的行坐标
如果没有which(arr.ind=T) 那么会返回具体的缺失值
直接删除有缺失值的行 data <- na.omit(data)
检验类别变量 is.factor(data) 返回bool类型
查看类别水平 print(factor(data[,1])) 会把所有的数据全部打印出来
levels(data[,1]) 只会打印出类别
回归法,对缺失值进行插补
首先有一个数据集 data ,在这个数据集中有一行有缺失值,有一行完全没有缺失值,一共有两行数据
sign <- which(is.na(data[,2]), arr.ind=T) 得到第二行的数据中与缺失值的行号
data2 <- data[-sign] 得到除去有缺失值的行的数据的子集
data3 <- data[sign] 得到在原始数据集中,包含有缺失值的行所形成的的子集
fit <- lm(y~x,data=data2) 其中 y与x分别为数据框的列的名称,这样得到一个拟合模型
data[sign,2] <- predict(fit, data3) 对缺失值进行预测,并将预测的结果加进原始的数据集, 这里的data3其实只有一列数据