1. NaN
R中的无定义数用NaN表示,即“Not a Number(非数)”。
不过在R中,R实际上是把NaN视作一个数的,当其参与运算时,返回结果总是NaN。我们可以使用is.nan()函数来检测计算结果有无定义,但是需要注意的是,对于NaN而言,is.finite()和is.infinite()都会返回FALSE。
> ?NULL
> 0/0
[1] NaN
> is.nan(0/0)
[1] TRUE
> is.infinite(0/0)
[1] FALSE
2. NA
NA表示缺失值,即“Missing value”,是“not available”的缩写
> a<-c(1,2,3,4)
> a[1:5]
[1] 1 2 3 4 NA
3. Inf
R中的无穷大用Inf表示(即Infinity,无穷大),负无穷表示为-Inf。
要检查一个数是否为无穷,可以使用is.finite()或者is.infinite()函数
> is.infinite(2/0)
[1] TRUE
3. NULL
R语言中,NA代表位置上的值为空,NULL代表连位置都没有,变量为空,其长度为0,表明“空无一物”
> a<-NULL
> length(a)
[1] 0