数据中有NA存在,处理办法


如果数据中有NA存在,表示这个位置数据遗失,不能进行值的类型描述。也不能用函数来计算,需要计算是可以加上na.rm=T表示忽略NA,但是这个位置并没有去除,使用length可以看到。

> x<-c(10,20,30,NA)

> x

[1] 10 20 30 NA

> mean(x)

[1] NA

> mean(x,na.rm=T)

[1] 20

> length(x)

[1] 4

>  x<-c(10,20,30,NA)

> x

[1] 10 20 30 NA

> na.fail(x)  #判断至少存在一个NA则返回错误

Error in na.fail.default(x) : 对象里有遺漏值

> na.omit(x)  #返回删除NA后的向量

[1] 10 20 30

attr(,"na.action")

[1] 4

attr(,"class")

[1] "omit"

> is.na(x)  #判断向量或矩阵或是数据框中的NA

[1] FALSE FALSE FALSE  TRUE

> x[!is.na(x)]#!与is.na()配合使用除去NA

[1] 10 20 30


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM