"Tagged" missing values work exactly like regular R missing values except that they store one additional byte of information a tag, which is usually a letter ("a" to "z"). When by loading a SAS and Stata file, the tagged missing values always use lower case values.
tagged_na(...) na_tag(x) is_tagged_na(x, tag = NULL) format_tagged_na(x, digits = getOption("digits")) print_tagged_na(x, digits = getOption("digits"))
... | Vectors containing single character. The letter will be used to "tag" the missing value. |
---|---|
x | A numeric vector |
tag | If |
digits | Number of digits to use in string representation |
format_tagged_na()
and print_tagged_na()
format tagged
NA's as NA(a), NA(b), etc.
#> [1] 1 2 3 4 5 NA NA NA#> [1] FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE# To see that they're special, you need to use na_tag(), # is_tagged_na(), or print_tagged_na(): is_tagged_na(x)#> [1] FALSE FALSE FALSE FALSE FALSE TRUE TRUE FALSEna_tag(x)#> [1] NA NA NA NA NA "a" "z" NAprint_tagged_na(x)#> [1] 1 2 3 4 5 NA(a) NA(z) NA# You can test for specific tagged NAs with the second argument is_tagged_na(x, "a")#> [1] FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE# Because the support for tagged's NAs is somewhat tagged on to R, # the left-most NA will tend to be preserved in arithmetic operations. na_tag(tagged_na("a") + tagged_na("z"))#> [1] "a"