lbl_na_if: Set labelled values to missing

Description Usage Arguments Value See Also Examples

View source: R/lbl_helpers.r

Description

Convert values to NA based on their label and value in a labelled vector. Ignores any value that does not have a label.

Usage

1
lbl_na_if(x, .predicate)

Arguments

x

A labelled vector

.predicate

A function that takes .val and .lbl (the values and labels) and returns TRUE or FALSE. It is passed to a function similar to as_function, so also accepts quosure-style lambda functions (that use values .val and .lbl). See examples for more information.

Value

A haven::labeled vector

See Also

Other lbl_helpers: lbl_add, lbl_clean, lbl_collapse, lbl_relabel, lbl, zap_ipums_attributes

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
x <- haven::labelled(
  c(10, 10, 11, 20, 30, 99, 30, 10),
  c(Yes = 10, `Yes - Logically Assigned` = 11, No = 20, Maybe = 30, NIU = 99)
)

lbl_na_if(x, ~.val >= 90)
lbl_na_if(x, ~.lbl %in% c("Maybe"))
lbl_na_if(x, ~.val >= 90 | .lbl %in% c("Maybe"))

# You can also use the more explicit function notation
lbl_na_if(x, function(.val, .lbl) .val >= 90)

# Or even the name of a function
na_function <- function(.val, .lbl) .val >= 90
lbl_na_if(x, "na_function")

ipumsr documentation built on March 9, 2019, 1:05 a.m.