R语言进行计算时,缺失值不会被直接剔除,包含缺失值的数值型数据,R语言不会去计算均值等相关统计量,于是迫切需要对缺失数据处理,在进行缺失数据处理的时候,通常分为两种情况:替代和删除。
首先,需要确定哪里含有缺失值!
一、查找缺失值
数据处理时需要判断是否存在缺失值。
语法结构如下:
is.na(数据集) #判断数据集每个值是否存在缺失值,返回false代表不缺失,True 表示缺失
is.na(variable) #判断某个变量variable是否存在缺失值
如果需要查看缺失值所在位置,使用下面语句
which(is.na(variable))
计算缺失值的数目
sum(is.na(variable)
进一步探索缺失数据若进行按行提取缺失值,操作如下:
variable2<-数据集[which(is.na(variable)==T),]
dim(variable2) #查看新变量几行几列
二、缺失值处理
- 替代
语法结构:
数据集[is.na(数据集)<-替代值
# 将数据里的所有缺失值用某个值替代,实用性有点低
变量[is.na(变量)<-替代值
或者利用下面这种格式
impute(变量,替代值) #替代值可以是均值,中位数,特定值
- 删除
语法结构:
na.rm=逻辑符 #此处常与其它命令一起使用例:
mean(variable,na.rm=TRUE) #忽略缺失值,默认是na.rm=FALSE,即不移除缺失值
na.omit(数据集)#删除所有缺失的行
na.omit(变量)#删除缺失数据