ref_lvl {sjmisc} | R Documentation |
Change reference level of (numeric) factors
Description
Changes the reference level of (numeric) factor.
Usage
ref_lvl(x, ..., lvl = NULL)
Arguments
x |
A vector or data frame. |
... |
Optional, unquoted names of variables that should be selected for
further processing. Required, if |
lvl |
Either numeric, indicating the new reference level, or a string,
indicating the value label from the new reference level. If |
Details
Unlike relevel
, this function behaves differently
for factor with numeric factor levels or for labelled data, i.e. factors
with value labels for the values. ref_lvl()
changes the reference
level by recoding the factor's values using the rec
function.
Hence, all values from lowest up to the reference level indicated by
lvl
are recoded, with lvl
starting as lowest factor value.
For factors with non-numeric factor levels, the function simply returns
relevel(x, ref = lvl)
. See 'Examples'.
Value
x
with new reference level. If x
is a data frame, the complete data frame x
will be returned,
where variables specified in ...
will be re-leveled;
if ...
is not specified, applies to all variables in the
data frame.
See Also
to_factor
to convert numeric vectors into factors;
rec
to recode variables.
Examples
data(efc)
x <- to_factor(efc$e42dep)
str(x)
frq(x)
# see column "val" in frq()-output, which indicates
# how values/labels were recoded after using ref_lvl()
x <- ref_lvl(x, lvl = 3)
str(x)
frq(x)
library(dplyr)
dat <- efc %>%
select(c82cop1, c83cop2, c84cop3) %>%
to_factor()
frq(dat)
ref_lvl(dat, c82cop1, c83cop2, lvl = 2) %>% frq()
# compare numeric and string value for "lvl"-argument
x <- to_factor(efc$e42dep)
frq(x)
ref_lvl(x, lvl = 2) %>% frq()
ref_lvl(x, lvl = "slightly dependent") %>% frq()
# factors with non-numeric factor levels
data(iris)
levels(iris$Species)
levels(ref_lvl(iris$Species, lvl = 3))
levels(ref_lvl(iris$Species, lvl = "versicolor"))