Add variable attributes from an IPUMS DDI to the variables in a data.frame. This function is usually called automatically for you inside of the read_* functions (such as read_ipums_micro or read_nhgis), but they can be useful other times as well. For example, if you store the data in a database, you can store the data without attributes in the database and add them on after loading a subset into a data.frame.
set_ipums_var_attributes( data, var_info, var_attrs = c("val_labels", "var_label", "var_desc") )
data | A data.frame |
---|---|
var_info | An |
var_attrs | One or more of |
A tbl_df
data.frame with data and IPUMS attributes
Attribute val_labels
adds the haven::labelled class attributes and
the corresponding value labels for variables that have value labels.
Attribute var_label
Adds a short summary of the variable's
contents that to the attribute "label". This label is viewable in the
RStudio Viewer.
Attribute var_desc
Adds a longer summary of the variable's
contents to the attribute "var_desc" when available.
ddi_file <- ipums_example("cps_00006.xml") ddi <- read_ipums_ddi(ddi_file) cps <- read_ipums_micro(ddi, var_attrs = NULL) # Don't load with attributes #> Use of data from IPUMS-CPS is subject to conditions including that users should #> cite the data appropriately. Use command `ipums_conditions()` for more details. ipums_var_desc(cps$YEAR) # Not available #> [1] NA # But, we can add on attributes after loading cps_with_attr <- set_ipums_var_attributes(cps, ddi) ipums_var_desc(cps_with_attr$YEAR) #> [1] "YEAR reports the year in which the survey was conducted. YEARP is repeated on person records."