`R/ZIGZAG.R`

`smooth_age_5_zigzag_p.Rd`

This function is auxiliary to `zigzag()`

, see `?zigzag`

for a description.

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

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

numeric vector of smoothed population counts.

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.

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

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))#> [1] 233.0282# 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)#> [1] 0.02287705 0.07425311 0.01993714 0.09800848Smoothed <- smooth_age_5_zigzag_p(dth5_zigzag,Age,40,80,p)