- is.na()
检测缺失值是否存在
> y <- c(1,2,NA,3)
> is.na(y)
[1] FALSE FALSE TRUE FALSE
#注意 is.na()函数是如何作用于一个对象上的,它将返回一个相同大小的对象
#某个元素是 NA ,则返回TRUE ,否则返回 FALSE
- 注意
a、在R中,缺失值被认为是不可比较的,即便是缺失值自身的比较,这意味着无法使用比较运算符来检测是否存在,例如,逻辑测试myvar == NA 的结果永远不会为TRUE
b、R并不能把无限的或不可能出现的数值标记成缺失值
正无穷:Inf
负无穷:-Inf
5/0返回:Inf
不可能的值,比如说 sin(Inf)用NaN符号来标记(not a number),如要识别这些数值,则用到is.infinite()或is.nan()
c、含有缺失值的算术表达式和函数的计算结果也是缺失值
- na.rm选项、na.omit()
na.rm = TRUE
na.omit() 移除所有含有缺失值的观测,即删除整行
y <- c(1,2,NA,3)
x <- sum(y,na.rm=T) # na.rm =T 移除NA值
z <- na.omit(leadership) #删除含有NA的观测
注:
NA(缺失值) 与 NULL 是不同的
来源:oschina
链接:https://my.oschina.net/u/1785519/blog/1563048