使用不同类别的 NA
符号 NA 用于 logical 缺失值:
class(NA)
#[1] "logical"
这很方便,因为它可以很容易地被强制转换为其他原子矢量类型,因此通常是你需要的唯一方法:
x <- c(1, NA, 1)
class(x[2])
#[1] "numeric"
如果你确实需要另一种类型的 NA 值,请使用 NA_character_,NA_integer_,NA_real_ 或 NA_complex_。对于花哨类的缺失值,使用 NA_integer_ 进行子集化通常有效; 例如,要获取缺失值日期:
class(Sys.Date()[NA_integer_])
# [1] "Date"