相关文章推荐
有情有义的卤蛋  ·  江苏新高考改革方案_大学生必备网·  1 年前    · 
不爱学习的火车  ·  【WebApi】(二)Asp.net ...·  1 年前    · 
不拘小节的啤酒  ·  【以案说医】黄笑芝:泄热除湿 活血理气 ...·  1 年前    · 
想旅行的显示器  ·  Android Audio代码分析13 - ...·  2 年前    · 
跑龙套的胡萝卜  ·  【文章】云度汽车资金链断裂停产 ...·  2 年前    · 
Code  ›  NA、Inf、NaN、NULL等值处理开发者社区
无穷大
https://cloud.tencent.com/developer/article/1369485
纯真的丝瓜
2 年前
作者头像
用户1359560
0 篇文章

NA、Inf、NaN、NULL等值处理

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > 生信小驿站 > NA、Inf、NaN、NULL等值处理

NA、Inf、NaN、NULL等值处理

作者头像
用户1359560
发布 于 2018-12-07 10:10:00
2.6K 0
发布 于 2018-12-07 10:10:00
举报

这几个都是R语言里面的特殊值,都是R的保留字(reserved words)。它们的意义分别为:

  • • NA:表示缺失值(Missing value),是“Not Available”的缩写
  • • Inf:表示无穷大,是“Infinite”的缩写
  • • NaN:表示非数值,是“Not a Number”的缩写
  • • NULL:表示空值,即没有内容

下面通过一些例子来了解它们的用法。由于有关NA的内容较多,最后再介绍它。

  1. Inf

我们知道,对于分数,当分母为0分子不为0时,结果为无穷大。当分子为正数时,结果为正无穷大;当分子为负数时,结果为负无穷大。在R中也是这样,比如:

2 / 0 ## 正无穷大 [1] Inf -2 / 0 ## 负无穷大 [1] -Inf

Inf也可参与一些运算,比如:

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(), is.infinite()来判断是否为无穷大数,比如:

is.finite(2) [1] TRUE is.infinite(2/0) [1] TRUE

  1. 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] TRUE

  1. NULL

NULL表示空值,表示没有内容。

一般常用在函数参数中,表示该参数没有被赋予任何值。也经常用在初始化变量,表示变量没有任何内容,因此它的长度为0。来看个例子:

x <- NULL [1] 0 length(x) [1] 0 is.null(x) ## is.null()函数判断是否为空值 [1] TRUE

  1. NA

NA表示缺失值(Missing value),我们将会经常碰到这个值。

你可能想知道向量中是否有缺失值。对于这个问题,有人说用==关系运算符就行了,是这样吗?来看个例子:

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 年前
不爱学习的火车  ·  【WebApi】(二)Asp.net web api中的坑-【http get请求中的参数】 - Garfield-加菲 - 博客园
1 年前
不拘小节的啤酒  ·  【以案说医】黄笑芝:泄热除湿 活血理气 清经止血法治疗月经先期案
1 年前
想旅行的显示器  ·  Android Audio代码分析13 - AudioTrack::getPosition函数_android13audiotrack-CSDN博客
2 年前
跑龙套的胡萝卜  ·  【文章】云度汽车资金链断裂停产 官方回应_车家号_汽车之家
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号