缺失值处理


前言

在日常的统计分析中,数据缺失的现象是常见的,可能是在一场数据录入中导致数据缺失,或者是在问答中没有得到自己想要的结果等,都会造成数据的部分缺失。数据缺失的处理方式也有很多,需要我们根据实际的确实情况进行解决。当数据缺失量在整体中的占比比较小时,我们可以直接删除,但是如果该数据对结果影响较为显著,那么我们则不能删除,需要对数据进行填补。


1、缺失值的检测?

在R语言中,我们的缺失值的符号时用NA来表示的,并且在R中,用函数is.na()可以来检测数据是否存在缺失值。

na <- c(2,2,NA,6,8)
is.na(na)

结果:
在这里插入图片描述
使用is.na()函数来判断是否存在缺失值,返回的结果时一个逻辑值,也就是有或者没有缺失值。当返回的逻辑值为FALSE时为没有缺失值,当返回值为TURE时为缺失值。


2、NaN的检测

NaN表示不能被表示的值,不确定性的值,可以用is.nan()来检测

nan <- c(5,Inf,5,NaN,6)
is.nan(nan)

结果
在这里插入图片描述


3、缺失值的处理

借补发:

new_na <- c(1,1,2,3,NA,7,8)
new_na[is.na(new_na)] <- mean(new_na,na.rm=T)

结果

在这里插入图片描述


4、选取不是缺失值的数

加入一个数据中存在缺失值,那么我们时无法进行计算的,因此我们需要滤过缺失值才能计算。那么我们只要选出不是缺失值的数就可以了。

new_nas <- c(1,NA,1,2,3,NA,7,8)
new_nas <- new_nas[!is.na(new_nas)]

结果:
在这里插入图片描述


5、矩阵中带缺失值

在矩阵总也可以带缺失值,但是同样是不可以进行计算的,我们需要将缺失值处理后才可以进行计算。

mat <- matrix(c(1:11,NA),nr=3,nc=4,byrow = T)

结果
在这里插入图片描述


6、不算缺失值

mean(mat,na.rm=T)

结果
在这里插入图片描述


7、删除所在行

当我们删除了NA值所在的行时,矩阵中便没有了缺失值,因此这个矩阵式可以进行计算的。

newmat <- na.omit(mat)

结果
在这里插入图片描述


8、求均值

我们对矩阵里面的数求一个均值,可以得到以下结果。

mean(newmat)

结果
在这里插入图片描述


总结

1:is.na()可以检测缺失值,并返回逻辑向量;
2:is.nan()可以检测NaN值,并返回逻辑向量;
3:含有缺失值的是不可以进行计算的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值