set_ipums_var_attributes | R Documentation |
Add variable attributes from an ipums_ddi object to a data frame. These provide contextual information about the variables and values contained in the data columns.
Most ipumsr data-reading functions automatically add these attributes. However, some data processing operations may remove attributes, or you may wish to store data in an external database that does not support these attributes. In these cases, use this function to manually attach this information.
set_ipums_var_attributes(
data,
var_info,
var_attrs = c("val_labels", "var_label", "var_desc")
)
data |
|
var_info |
An ipums_ddi object or a data frame containing
variable information. Variable information can be obtained by calling
|
var_attrs |
Variable attributes from the DDI to add to the columns of the output data. Defaults to all available attributes. |
Attribute val_labels
adds the haven_labelled
class
and the corresponding value labels for applicable variables. For more
about the haven_labelled
class, see
vignette("semantics", package = "haven")
.
Attribute var_label
adds a short summary of the variable's
contents to the "label"
attribute. This label is viewable in the
RStudio Viewer.
Attribute var_desc
adds a longer description of the variable's
contents to the "var_desc"
attribute, when available.
Variable information is attached to the data by column name. If column
names in data
do not match those found in var_info
, attributes
will not be added.
data
, with variable attributes attached
ddi_file <- ipums_example("cps_00157.xml")
# Load metadata into `ipums_ddi` object
ddi <- read_ipums_ddi(ddi_file)
# Load data
cps <- read_ipums_micro(ddi)
# Data includes variable metadata:
ipums_var_desc(cps$INCTOT)
# Some operations remove attributes, even if they do not alter the data:
cps$INCTOT <- ifelse(TRUE, cps$INCTOT, NA)
ipums_var_desc(cps$INCTOT)
# We can reattach metadata from the separate `ipums_ddi` object:
cps <- set_ipums_var_attributes(cps, ddi)
ipums_var_desc(cps$INCTOT)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.