1.R提供了一些函数,用于识别包含缺失值的观测。函数is.na()允许你检测缺失值是否存在。
假设你有一个向量:
- y <- c(1, 2, 3, NA)
- is.na(y)
is.na()将返回一个相同大小的对象,如果某个元素是缺失值,相应的位置将被改写为TRUE,不是缺失值的位置则为FALSE
请注意:
缺失值被认为是不可比较的,即便是与缺失值自身的比较。这意味着无法使用比较运算符来检测缺失值是否存在。
2.重编码某些值为缺失值
假设你有一个leadership数据框,其中有age变量,现在要将age 取值99重编码为NA
- leadership$age[leadership$age == 99] <- NA
举例来说,考虑以下代码:
- # 在计算之前移除缺失值并使用剩余值进行计算
- x <- c(1, 2, NA ,3)
- y <- x[1] + x[2] + x[3] + x[4]
- z <- sum(x)
可以使用na.rm=TRUE选项,在计算之前移除缺失值并使用剩余值进行计算:
- y <- sum(x,na.rm = TRUE)
- # 在使用函数处理不完整的数据时,请务必查阅它们的帮助文档
- # help(sum)
你可以通过函数na.omit()移除所有含有缺失值的观测。
na.omit()可以删除所有含有缺失数据的行。
na.omit(object, ...)
object an R object, typically a data frame
... further arguments special methods could require.
以下是na.omit在Rhelp中的例子:
- DF <- data.frame(x = c(1, 2, 3), y = c(0, 10, NA))
- na.omit(DF)
- # 运行结果如下:
- x y
- 1 1 0
- 2 2 10
以上即为R语言缺失值常用方法,希望能帮上大家
——资料来源《R语言实战》《Rhelp》