文章目录
处理缺失值的步骤一般为:
- 识别缺失值
- 补全个案或删除个案
个案、行都是指代一个意思
###识别缺失值
识别缺失值的方法很多,这里主要介绍三种。
####is.na函数
R语言中用NA代表缺失值。使用is.na函数可以检测缺失值,并返回True或FALSE组成的向量。
下面用举一个例子。
#首先生成一个有缺失值的数据框
a <- c(1,2,3,NA)
b <- c(5,6,7,8)
c <- c(7,8,NA,2)
data <- data.frame(a,b,c)
#data数据集的3和4行存在缺失值
data
a b c
1 1 5 7
2 2 6 8
3 3 7 NA
4 NA 8 2
#用is.na函数
is.na(data)
a b c
[1,] FALSE FALSE FALSE
[2,] FALSE FALSE FALSE
[3,] FALSE FALSE TRUE
[4,] TRUE FALSE FALSE
#结果显示第3行第3列和第四行第1列存在缺失值。
####!complete.case函数
complete.case函数可以列出没有缺失值的行,开头加**!可以列出存在缺失值的行。R语言中!**是否定的意思。
引用上面数据集作!complete.case函数示例。
data[!complete.cases(data),]
a b c
3 3 7 NA
4 NA 8 2
#结果显示第3行和第4行有缺失值
还可用sum函数和mean函数获取缺失值的有关信息
#检查data中a的缺失值数量
sum(is.na(data$a))
#1个
[1] 1