Skip to contents

Chains the treatment functions in a recommended order. Steps applied per data_type:

  1. Both: Remove duplicates (keep first); fix ref_date → NA

  2. Personnel: Fix birth_date → NA; flag underage and over-retirement-age workers

  3. 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).

Value

A cleaned data.frame.

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")
} # }