
Detect Personnel Events
detect_personnel_event.RdExpands a dataset of personnel and reference dates to include all possible personnel–date combinations, fills missing periods, and identifies "hire" or "fire" events based on changes in status over time.
Usage
detect_personnel_event(
data,
id_col,
event_type,
start_date,
end_date,
status_col,
freq = "year"
)Arguments
- data
A data.table or data.frame containing at least the columns:
personnel_id: Unique identifier for personnel.ref_date: Reference date (must be coercible to Date).employment_status: Personnel status (e.g., "active", "pensioner", "inactive").
- id_col
Character. Name of the identifier column (e.g.,
"personnel_id").- event_type
Character. Either
"hire"or"fire", controlling which event to detect.- start_date
Optional start date for the full date sequence (default:
"2007-09-01").- end_date
Optional end date for the full date sequence (default:
"2018-01-01").- status_col
A column within
dataobject for the employment status of personnel.- freq
Frequency for the sequence of dates (default:
"year"). Can be any valid value forseq.Date(by = ...).
Examples
if (FALSE) { # \dontrun{
hires <- detect_personnel_event(personnel_df, id_col = "personnel_id", start_date = "2007-09-01",
end_date = "2018-01-01", event_type = "hire")
fires <- detect_personnel_event(personnel_df, id_col = "personnel_id", start_date = "2007-09-01",
end_date = "2018-01-01", event_type = "fire")
} # }