3.3.4 NA 处理

Keywords:

Previous: Dimensional attributes,Up: Elementary arithmetic operations

3.3.4 NA 处理

统计学意义上缺失变量(值不知道的变量)的值是 NA。这和一个函数参数的 missing 特性(即一个函数的参数没有提供)不能混淆(见Arguments)。因为原子向量的元素必须是一样的类型,因此NA值有多种类型。有一种情况对用户非常重要。NA的默认类型是 logical,除非强制转换成其它类型,因此缺失值可能会触发逻辑索引而不是数值索引(细节见 Indexing)。

NA 的数值和逻辑计算通常返回 NA。如果对于NA所有取值运算结果都一样,那么就返回这个一样的值。特别是,FALSE & NA 结果是 FALSETRUE | NA 结果是 TRUENA 不等于任何其它值(包括自身);测试一个对象是否为NA应该用 is.na但是,在函数 match 里面,NA 可以匹配另外一个 NA 值。

结果不明确的数值计算(如0/0)返回结果是 NaN。这仅仅发生在实数的 double 类型或者复数的虚部中。函数 is.nan 用于检验一个对象是否是NaN,函数 is.naNaN也返回TRUENaN 强制转换成逻辑型或整型将返回对应类型的 NA,但是强制转换成字符型将返回 "NaN"NaN 是不可比较的,因此检验NaN是否相等的式子将返回 NA。通过match可以匹配NaN值(其它值不行,甚至是NA)。

NA的字符类型从 R 1.5.0 开始才和字符 "NA" 区分开。程序员如果需要指定一个外在的字符串型NA,应该使用 as.character(NA) 而不是 "NA",或者用is.na<-NA 设置元素。

原味型向量没有 NA 值。

Hits:Loading...

special topic