在R中is.na 与==的区别

##自己写个函数
a<-function(x){sum(x=="NA")}
##构建一个向量
x1<-c(1:5,NA)
x2<-c(1:5)
##构建一个矩阵
x3<-matrix(c(1:18,NA,NA),nrow = 4)

##测试函数功能
a(x1)#得到结果为NA
a(x2)#得到结果为0
##拆解来看
sum(x1=="NA")
sum(x2=="NA")
##进一步拆解
x1=="NA"#做逻辑判断,为非NA则为FALSE,但如果为NA,则返回NA
x2=="NA"#全为FALSE
##因此代码的含义为返回NA则为存在NA,返回值为0则无NA

##如果判断的是其它值呢
x1=="1"##同样发现如果==成立,则返回NA
##总结 ==法可用于判断是否

##注意is.na与x=="NA"的区别
##is.na时若为na则返回为TRUE
is.na(x1)
sum(is.na(x1))##判断NA的个数

你可能感兴趣的:(在R中is.na 与==的区别)