缺失值及处理

我怕爱的太早我们不能终老 提交于 2021-02-17 13:10:31
  • 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 是不同的

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!