缺失值及处理
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