Prepare race target variable for weighting
prep_target_race.RdCreates a standardized race target variable for person-level weighting and expansion, using either PUMS or survey input. Use when preparing race targets for synthetic population or survey analysis.
Arguments
- h_data
data.table. Household-level input (not used, included for interface consistency).
- p_data
data.table. Person-level input. Required columns:
For PUMS: must include race label column as specified in settings.
For survey: must include race column as specified in settings. Rows: one per person. Modified by reference: no (returns copy).
- target_name
character(1). Name of the target variable to create (default: "p_race").
- codebook
data.table. Codebook for variable mapping; must include race value and label columns.
- settings
list. Project settings; must include
targets[[target_name]]withlevelsandsurvey_input.
Value
data.table. Copy of person-level input with new target variable column (target_name).
Columns: all original plus
target_name(character)Values: standardized race levels
Row order preserved
Details
Detects input type (PUMS vs. survey) by presence of
SERIALNOcolumn.For PUMS:
Uses race label column, converts to lowercase, truncates to 30 chars.
Uses regex patterns:
str_detect(label, "black")→ "afam"str_detect(label, "asian")orstr_detect(label, "hawaiian")→ "asian_pacific"str_detect(label, "white")→ "white"else → "other"
For survey:
Uses survey input column as specified in settings (no regrouping currently).
Checks that observed levels match expected target levels from settings.
Renames output column to
target_name(default:p_race).Returns a copy of the input data.table with the new target variable.
Error handling: stops if levels do not match expected values.
See also
get_target_methods, prep_target_gender, prep_target_ethnicity
Other target preparation:
get_target_methods(),
prep_target_adults(),
prep_target_age(),
prep_target_commutemode(),
prep_target_cross(),
prep_target_edulevel(),
prep_target_employment(),
prep_target_ethnicity(),
prep_target_gender(),
prep_target_h_size(),
prep_target_income(),
prep_target_kids(),
prep_target_univstudent(),
prep_target_vehicles(),
prep_target_workers(),
prep_transit_target(),
prepare_targets(),
run_tabulate_method()