This function retrieves tagged NA values and their associated value labels from a labelled vector.
Value
The tagged missing values and their associated value labels from x,
or NULL if x has no tagged missing values.
Details
Other statistical software packages (like 'SPSS' or 'SAS') allow to define
multiple missing values, e.g. not applicable, refused answer
or "real" missing. These missing types may be assigned with
different values, so it is possible to distinguish between these
missing types. In R, multiple declared missings cannot be represented
in a similar way with the regular missing values. However,
tagged_na() values can do this.
Tagged NAs 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") or character number ("0" to "9").
This allows to indicate different missings.
Furthermore, see 'Details' in get_values.
Examples
library(haven)
#> Error in library(haven): there is no package called ‘haven’
x <- labelled(c(1:3, tagged_na("a", "c", "z"), 4:1),
c("Agreement" = 1, "Disagreement" = 4, "First" = tagged_na("c"),
"Refused" = tagged_na("a"), "Not home" = tagged_na("z")))
#> Error in labelled(c(1:3, tagged_na("a", "c", "z"), 4:1), c(Agreement = 1, Disagreement = 4, First = tagged_na("c"), Refused = tagged_na("a"), `Not home` = tagged_na("z"))): could not find function "labelled"
# get current NA values
x
#> Error: object 'x' not found
get_na(x)
#> Error: object 'x' not found
# which NA has which tag?
get_na(x, as.tag = TRUE)
#> Error: object 'x' not found
# replace only the NA, which is tagged as NA(c)
if (require("sjmisc")) {
replace_na(x, value = 2, tagged.na = "c")
get_na(replace_na(x, value = 2, tagged.na = "c"))
# data frame as input
y <- labelled(c(2:3, 3:1, tagged_na("y"), 4:1),
c("Agreement" = 1, "Disagreement" = 4, "Why" = tagged_na("y")))
get_na(data.frame(x, y))
}
#> Loading required package: sjmisc
#> Warning: there is no package called ‘sjmisc’
