
Apply Standard HR Data Cleaning Pipeline
clean_hr_data.RdChains the treatment functions in a recommended order. Steps applied per `data_type`:
**Both**: Remove duplicates (keep first); fix `ref_date` → `NA`
**Personnel**: Fix `birth_date` → `NA`; flag underage and over-retirement-age workers
**Contract**: Clamp `whours`; abs(negative salaries); recalculate gross = base + allowance
Use individual functions directly when you need custom strategies.
Usage
clean_hr_data(
data,
data_type = c("personnel", "contract"),
remove_duplicates = TRUE,
fix_dates = TRUE,
fix_ages = TRUE,
fix_salaries = TRUE,
verbose = FALSE
)Arguments
- data
A data.frame containing personnel or contract records.
- data_type
`"personnel"` or `"contract"`.
- remove_duplicates
Logical (default: `TRUE`).
- fix_dates
Logical (default: `TRUE`).
- fix_ages
Logical, personnel only (default: `TRUE`).
- fix_salaries
Logical, contract only (default: `TRUE`).
- verbose
Logical, print step-level messages (default: `FALSE`).
Examples
if (FALSE) { # \dontrun{
clean_hr_data(personnel_df, data_type = "personnel", verbose = TRUE)
clean_hr_data(contract_df, data_type = "contract", fix_salaries = FALSE)
# Custom pipeline
contract_df |>
remove_duplicate_contracts(level = "assignment", keep = "last") |>
fix_invalid_dates(treatment = "clamp") |>
fix_working_hours(treatment = "na") |>
fix_salary_components(strategy = "cap_net")
} # }