sgen {labelr} | R Documentation |
Safely Generate a Data Frame Variable (Column)
Description
sgen
allows one to add a column to a data.frame while preserving the labelr
attributes attached to the inputted data.frame.
Usage
sgen(data, ...)
Arguments
data |
a data.frame. |
... |
an expression that will create a new column in the data.frame. |
Details
Note that, while sgen
preserves label meta-data of the supplied
data.frame, it does not update or add any new labels. Therefore, 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 sgen
to replace a variable already present in a the supplied
data.frame. For that, see sreplace
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 <- sgen(df, mpg_sq = mpg^2) # create var "mpg_sq"
df <- sgen(df, am2 = ifelse(am == 0, 2, am)) # create var "am2"
head(df, 4) # show that data.frame modifications have been made
get_all_lab_atts(df)
df <- add_quant_labs(
data = df,
vars = "mpg_sq",
vals = c(200, 400, 600, 1000, 1500),
labs = NULL
)
df <- add_val_labs(
data = df,
vars = "am2",
vals = c(1, 2),
labs = c("manual", "automatic")
)
get_val_labs(df)
[Package labelr version 0.1.7 Index]