R语言入门——NANANInf(缺失值的识别)
Posted 统计学小王子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言入门——NANANInf(缺失值的识别)相关的知识,希望对你有一定的参考价值。
目录
00引言
这篇的主角是R语言中缺失值(NA)的识别与提取。先介绍NAN、Inf及其运算。在最终介绍缺失值(NA),毕竟重要的都压轴嘛。
1、Inf
在实数轴上除了确定的有限点,还有两个无限:正无穷、负无穷。用Inf
、-Inf
表示。
> Inf
[1] Inf
> -Inf
[1] -Inf
> 1/0
[1] Inf
> -1/0
[1] -Inf
2、NAN(Not a Number)
NAN
是Not a Number
的简称。在R语言中什么是不确定的数呢?下面通过代码给出例子,大家自己推理总结。
> 0/0
[1] NaN
> Inf/Inf
[1] NaN
> Inf -Inf
[1] NaN
> Inf -Inf
[1] NaN
上面的不难看出一般很犹豫的值就会显示不是一个数。但是也有一些奇怪的(违反数学分析的极限定理)需要大家记住。方便理解后面的逻辑。
> 0^Inf
[1] 0
> Inf^0
[1] 1
> 0^0
[1] 1
3、NA与逻辑运算符
大家先思考一下下面的逻辑表达式的值:NA == 1、NA == NA、NA > 0、NA + 1、NA * 1、NA / 1
会是什么?
> NA == 1
[1] NA
> NA == NA
[1] NA
> NA > 0
[1] NA
> NA + 1
[1] NA
> NA * 1
[1] NA
> NA / 1
[1] NA
NA会对一般的逻辑运算加减运算免疫,这是为什么呢?。其实很好理解,我么可以把NA理解为不知道的一个数
(这里注意和不确定(NAN)区别),对于不知道的一个数NA我们一般会结合if.na
函数来判断转化处理缺失值。在看下面的例子:
例子1:
> NA | T
[1] TRUE
> NA & F
[1] FALSE
例子2:
> NA & T
[1] NA
> NA | F
[1] NA
理解上述两个例子需要知道逻辑值的逻辑。我一般用一句话来区别:非空非零为假
。当然下面的例子三我就不解释了。结合上面的知识就很显然了。
例子3:
> NA^0
[1] 1
> NA*0
[1] NA
4、总结
水平有限,如有错误评论区指出。希望帮助大家理解处理R语言中的缺失值。
以上是关于R语言入门——NANANInf(缺失值的识别)的主要内容,如果未能解决你的问题,请参考以下文章