数据中有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

原文地址:https://www.cnblogs.com/babyfei/p/7735223.html