Extends calc_age() to work with partial dates. When only year or
year-month is known, uses mid-point assumptions for more accurate
age estimation.
Usage
calc_age_partial(birthdate, as_of = Sys.Date(), assume_midpoint = TRUE)Arguments
- birthdate
Character, numeric, or Date vector of birthdates. Partial dates (year-only, year-month) are accepted.
- as_of
Reference date for age calculation. Default is today.
- assume_midpoint
Logical. If TRUE (default), assumes midpoint for missing components (July 1 for year-only, 15th for month-only). If FALSE, uses January 1 and 1st respectively.
Value
Integer vector of ages in years. Returns NA for NA inputs, unparseable dates, or future birthdates.
Examples
# Year only - assumes July 1 as midpoint
calc_age_partial("1980")
#> [1] 45
# Year-month - assumes 15th as midpoint
calc_age_partial("1980-06")
#> [1] 45
# Full date
calc_age_partial("1980-06-15")
#> [1] 45
# Vectorized
calc_age_partial(c("1980", "1990-06", "2000-12-25"))
#> [1] 45 35 25