smooth_age_5_zigzag_p: Smooth population counts using Feeney's zigzag method and...

View source: R/ZIGZAG.R

smooth_age_5_zigzag_pR Documentation

Smooth population counts using Feeney's zigzag method and smoothing parameters.

Description

This function is auxiliary to zigzag(), see ?zigzag for a description.

Usage

smooth_age_5_zigzag_p(
  Value,
  Age,
  ageMin = 40,
  ageMax = 80,
  p = rep(0.05, floor((ageMax - ageMin)/10))
)

Arguments

Value

numeric vector of (presumably) counts in 5-year age groups.

Age

integer vector of age group lower bounds.

ageMin

integer. Lower age bound to adjust values.

ageMax

integer. Upper age bound to adjust values.

p

numeric vector of adjustment parameters.

Details

This function is not intended to be used at the top level, but just in case, make sure that ageMax = ageMin + 10 * length(p). Age groups >= ageMin AND <= ageMin must be in 5-year age groups. This function does no checks.

Value

numeric vector of smoothed population counts.

References

Feeney, G. 2013 "Removing "Zigzag" from Age Data," http://demographer.com/white-papers/2013-removing-zigzag-from-age-data/

Examples

Age <- c(0,1,seq(5,90,by=5))
smooth_age_5_zigzag_min(dth5_zigzag,Age,ageMin=40,ageMax = 80,p=rep(.05,4))
# it's used like this in smooth_age_5_zigzag_inner()
(p <- optim(
		rep(.05,4),
		smooth_age_5_zigzag_min,
		Value = dth5_zigzag,
		Age = Age,
		ageMin = 40,
		ageMax = 80)$par)
Smoothed <- smooth_age_5_zigzag_p(dth5_zigzag,Age,40,80,p)

timriffe/DemoTools documentation built on Jan. 28, 2024, 5:13 a.m.