R语言数据缺失值处理

本文介绍了R语言中如何识别和处理数据缺失值。通过is.na函数、complete.case函数和mice包进行识别,并探讨了删除个案与补全个案的两种处理方法,特别展示了mice包在多重插补中的应用。
摘要由CSDN通过智能技术生成

文章目录


处理缺失值的步骤一般为:

  1. 识别缺失值
  2. 补全个案或删除个案

个案、行都是指代一个意思

###识别缺失值
识别缺失值的方法很多,这里主要介绍三种。
####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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值