R语言中特殊值NaN、Inf 、NA、NULL

Python09

R语言中特殊值NaN、Inf 、NA、NULL,第1张

1. NaN

R中的无定义数用NaN表示,即“Not a Number(非数)”。

不过在R中,R实际上是把NaN视作一个数的,当其参与运算时,返回结果总是NaN。我们可以使用is.nan()函数来检测计算结果有无定义,但是需要注意的是,对于NaN而言,is.finite()和is.infinite()都会返回FALSE。

2. NA

NA表示缺失值,即“Missing value”,是“not available”的缩写

3. Inf

R中的无穷大用Inf表示(即Infinity,无穷大),负无穷表示为-Inf。

要检查一个数是否为无穷,可以使用is.finite()或者is.infinite()函数

3. NULL

R语言中,NA代表位置上的值为空,NULL代表连位置都没有,变量为空,其长度为0,表明“空无一物”

将两个数据进行除法运算

而log2_foldchange就是我们需要的数据,发现里面有许多 NaN、 -Inf 、Inf ,想办法进行数据清洗。

都到这一步了,再绘制两个图形玩玩:

从网上找了一下,整理如下:

NA:缺失数据

NaN:无意义的数,比如sqrt(-2), 0/0。

Inf:正无穷大

-Inf:负无穷大

NULL:不存在

下面是用程序来看:

rm是remove的意思,例如你指定na.rm=T,就会移除na数据