Creates a labelled
vector from an unlabelled atomic
vector using lbl_relabel
syntax, which allows grouping multiple
values into a single labelled value. Values not assigned a label will remain
unlabelled.
lbl_define(x, ...)
An unlabelled atomic vector
Two-sided formulas where the left hand side is a label placeholder
(created with the lbl
function) and the right hand side is a
function that returns a logical vector that indicates which existing values
should be assigned that labeled value. The right hand side 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.
A haven::labelled vector
Other lbl_helpers:
lbl_add()
,
lbl_clean()
,
lbl_collapse()
,
lbl_na_if()
,
lbl_relabel()
,
lbl()
,
zap_ipums_attributes()
age <- c(10, 12, 16, 18, 20, 22, 25, 27)
# Note that values not assigned a new labelled value remain unchanged
lbl_define(
age,
lbl(1, "Pre-college age") ~ .val < 18,
lbl(2, "College age") ~ .val >= 18 & .val <= 22
)
#> <labelled<double>[8]>
#> [1] 1 1 1 2 2 2 25 27
#>
#> Labels:
#> value label
#> 1 Pre-college age
#> 2 College age