作者简介:
杨光慧,汉语社区专栏作家,中国科学院现代物理研究所研究员。目前的研究方向是知识图谱。知乎专栏:R语言初级教程,个人微信官方账号:R语言和Python学校。
这些是R语言中的特殊值,是R的保留词,它们的含义是:
NA:表示缺失值(Missing value),是“Not Available”的缩写Inf:表示无穷大,是“Infinite”的缩写NaN:表示非数值,是“Not a Number”的缩写NULL:表示空值,即没有内容这里有一些例子来理解它们的用法。因为关于NA的内容很多,最后介绍一下。
1.中程核力量
我们知道,对于分数,当分母为0,分子不为0时,结果是无穷的。当分子为正时,结果为正无穷大。当分子为负时,结果为负无穷大。r也是如此,例如:
> 2 / 0 ## 正无穷大[1] Inf> -2 / 0 ## 负无穷大[1] -InfInf还可以参与一些操作,比如:
> 2/Inf ## 当分子为有限值、分母无穷大时,结果为0[1] 0> exp(-Inf) ## 自然数e的负无穷大次幂为0[1] 0> (0:3)^Inf ## 0的穷大次幂为0;1的穷大次幂还为1;大于1的数的无穷大次幂为无穷大[1] 0 1 Inf Inf另外,在r中,是。有限()且为。无限()用于判断它是否是。有限(),是。无限数,例如:
> is.finite(2)[1] TRUE> is.infinite(2/0)[1] TRUE2. NaN有些操作会产生非数字结果,这些结果用r中的NaN表示,例如:
> 0 / 0[1] NaN> Inf - Inf[1] NaN> Inf / Inf[1] NaN在r中,用is.nan()判断是否为非数值,例如:
> is.nan(2)[1] FALSE> is.nan(NA) ## 缺失值NA不是非数值[1] FALSE> is.nan(0/0)[1] TRUE3. NULLNULL表示值空,表示没有内容。
常用于函数参数,表示参数没有赋值。也经常用来初始化一个变量,也就是说这个变量什么都没有,所以它的长度是0。让我们举个例子:
> x <- NULL[1] 0> length(x)[1] 0> is.null(x) ## is.null()函数判断是否为空值[1] TRUE4. NANA代表缺失值,我们会经常遇到。
您可能想知道向量中是否有缺失的值。对于这个问题,有人说用= =关系运算符就够了,是这样吗?让我们举个例子:
> x <- c(2, 5, NA, 7, NA, 8)> x == NA[1] NA NA NA NA NA NA> is.na(x) ## 正确姿势[1] FALSE FALSE TRUE FALSE TRUE FALSE显然,用= =(为什么不可以,仔细想想就明白了)是不可行的。在R中,可以使用is.na()函数来判断是否是缺失值。
有时候我们想删除缺失值或者想知道缺失值有多少,可以通过下面的代码来实现:
> x[! is.na(x)] ## 删除缺失值[1] 2 5 8> sum(is.na(x)) ## 缺失值的个数[1] 2对于处理缺少值的向量,许多函数不能在默认参数下工作,例如:
> x <- c(2, 5, NA, 7, NA, 8)> mean(x)[1] NA> max(x)[1] NA> mean(x, na.rm=TRUE)[1] 5.5> max(x, na.rm=TRUE)[1] 8您可以通过将na.rm设置为真来删除缺失的值,然后进行统计
有时候我们想知道缺失值NA在哪里。此时,位置索引可以通过which()函数输出,例如:
> x <- c(2, 5, NA, 7, NA, 8)> which(is.na(x)) ## 第3和5个元素是缺失值[1] 3 5这就是r语言中的特殊值。
1.《inf R语言初级教程: NA、Inf、NaN、NULL 特殊值》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《inf R语言初级教程: NA、Inf、NaN、NULL 特殊值》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/1173404.html