sreplace {labelr} | R Documentation |
Safely Replace a Data Frame Variable (Column)
Description
sreplace
allows one to replace a data.frame column with new values, while
preserving the labelr attributes attached to the inputted data.frame.
Usage
sreplace(data, ...)
Arguments
data |
a data.frame. |
... |
an expression that replaces a column in the data.frame. |
Details
Note that, while sreplace
preserves label meta-data of the supplied
data.frame, it does not update or add any new labels. Therefore, if you are
altering the range of values for an extant variable, you will need to
explicitly instantiate any new or modified labels that you desire via
follow-up calls to functions such as add_val_labs()
, drop_val_labs()
, etc.
You may not use sreplace
to generate a new variable (i.e., one not already
present in a the supplied data.frame). For that, see sgen
or schange
.
Value
a data.frame.
Examples
df <- mtcars
# now, add value labels
df <- add_val_labs(
data = df,
vars = "am",
vals = c(0, 1),
labs = c("automatic", "manual")
)
df <- add_val_labs(
data = df,
vars = "carb",
vals = c(1, 2, 3, 4, 6, 8),
labs = c(
"1-carb", "2-carbs",
"3-carbs", "4-carbs",
"6-carbs", "8-carbs"
)
)
df <- sreplace(df, mpg = mpg^2) # replace var "mpg"
df <- sreplace(df, am = ifelse(am == 0, 2, am)) # replace var "am"
head(df, 4) # show that data.frame modifications have been made
get_all_lab_atts(df)
df <- add_quant_labs(
data = df,
vars = "mpg",
vals = c(200, 400, 600, 1000, 1500),
labs = NULL
)
df <- drop_val_labs(
data = df,
vars = "am"
)
df <- add_val_labs(
data = df,
vars = "am",
vals = c(1, 2),
labs = c("manual", "automatic")
)
get_val_labs(df)
[Package labelr version 0.1.7 Index]