Given a set of ages and observed age-specific migration rates, estimate the parameters of a Roger-Castro model migration schedule. Choose between a 7,9,11 or 13 parameter model.

mig_estimate_rc(
  ages,
  mx,
  pre_working_age,
  working_age,
  retirement,
  post_retirement,
  ...
)

Arguments

ages

numeric. A vector of ages.

mx

numeric. A vector of observed age-specific migration rates.

pre_working_age

logical (TRUE/FALSE). Whether or not to include pre working age component.

working_age

logical (TRUE/FALSE). Whether or not to include working age component.

retirement

logical (TRUE/FALSE). Whether or not to include retirement age component.

post_retirement

logical (TRUE/FALSE). Whether or not to include post retirement age component.

...

additional inputs to stan, see ?rstan::stan for details.

Examples

if (FALSE) { # define ages and migration rates ages <- 0:75 mig_rate <- c(0.1014,0.0984,0.0839,0.0759,0.0679,0.0616, 0.055,0.0518,0.0438,0.0399,0.0363,0.0342,0.0307,0.0289, 0.0267,0.0237,0.0283,0.0294,0.0392,0.0547,0.068,0.0933, 0.1187,0.1282,0.1303,0.1293,0.1247,0.1163,0.1059,0.0976, 0.09,0.0817,0.0749,0.0683,0.0626,0.058,0.0536,0.0493, 0.0459,0.0418,0.0393,0.0358,0.0343,0.0322,0.0298,0.0281, 0.0266,0.0248,0.0235,0.0222,0.0208,0.0191,0.0178,0.0171, 0.0157,0.0149,0.0139,0.0132,0.012,0.0112,0.0116,0.0106, 0.0102,0.0109,0.0107,0.0143,0.0135,0.0134,0.0116,0.0099, 0.0093,0.0083,0.0078,0.0067,0.0069,0.0054) # fit the model res <- mig_estimate_rc(ages, mig_rate, pre_working_age = TRUE, working_age = TRUE, retirement = FALSE, post_retirement = FALSE) # plot the results and data plot(ages, mig_rate, ylab = "migration rate", xlab = "age") lines(ages, res[["fit_df"]]$median, col = "red") legend("topright", legend=c("data", "fit"), col=c("black", "red"), lty=1, pch = 1) }