3.3.4 NA 处理
Previous: Dimensional attributes,Up: Elementary arithmetic operations
3.3.4 NA 处理
统计学意义上缺失变量(值不知道的变量)的值是 NA。这和一个函数参数的 missing 特性(即一个函数的参数没有提供)不能混淆(见Arguments)。因为原子向量的元素必须是一样的类型,因此NA值有多种类型。有一种情况对用户非常重要。NA的默认类型是 logical,除非强制转换成其它类型,因此缺失值可能会触发逻辑索引而不是数值索引(细节见 Indexing)。
含 NA 的数值和逻辑计算通常返回 NA。如果对于NA所有取值运算结果都一样,那么就返回这个一样的值。特别是,FALSE & NA 结果是 FALSE,TRUE | NA 结果是 TRUE。 NA 不等于任何其它值(包括自身);测试一个对象是否为NA应该用 is.na。但是,在函数 match 里面,NA 可以匹配另外一个 NA 值。
结果不明确的数值计算(如0/0)返回结果是 NaN。这仅仅发生在实数的 double 类型或者复数的虚部中。函数 is.nan 用于检验一个对象是否是NaN,函数 is.na 对 NaN也返回TRUE。把 NaN 强制转换成逻辑型或整型将返回对应类型的 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...
- Previous Page: 3.3.3 维度属性
- Next Page: 3.4.1 通过向量进行索引
