The `cm3`

function finds the maximum likelihood estimates for parameters in the log-linear model:

* \log y_{ijk} = \log α_{i} + \log β_{j} + \log m_{ijk} *

as introduced by Abel (2005). The *α_{i}* and *β_{j}* represent background information related to the characteristics of the origin and destinations respectively. The *m_{ijk}* factor represents auxiliary information on origin-destination migration flows by a migrant characteristic (such as age, sex, disability, household type, economic status, etc.). This method is useful for combining data from detailed data collection processes (such as a Census) with more up-to-date information on migration inflows and outflows (where details on movements by migrant characteristics are not known).

1 |

`rtot` |
Origin (row) totals to constrain indirect estimates to. |

`ctot` |
Destination (column) totals to constrain indirect estimates to. |

`m` |
Array of auxiliary data. By default set to 1 for all origin-destination-migrant type combinations. |

`tol` |
Tolerance level for parameter estimation. |

`maxit` |
Maximum number of iterations for parameter estimation. |

`verbose` |
Print the parameter estimates at each iteration. By default |

Parameter estimates were obtained using the conditional maximization of the likelihood, as discussed by Abel (2005) and Raymer et. al. (2007).

The user must ensure that the row and column totals are equal in sum. Care must also be taken to allow the row and column dimension of the auxiliary matrix (`m`

) to equal those provided in the row and column totals.

Returns a `list`

object with:

`N ` |
Array of origin-destination matrices of indirect estimates |

`theta ` |
Collection of parameter estimates |

Guy J. Abel

Abel, G. J. (2005) *The Indirect Estimation of Elderly Migrant Flows in England and Wales* (MS.c. Thesis). University of Southampton

Raymer, J., G. J. Abel, and P. W. F. Smith (2007). Combining census and registration data to estimate detailed elderly migration flows in England and Wales. *Journal of the Royal Statistical Society: Series A (Statistics in Society)* 170 (4), 891–908.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ```
## over two tables
dn <- LETTERS[1:2]
y <- cm3(rtot = c(18, 20) * 2, ctot = c(16, 22) * 2,
m = array(c(5, 1, 2, 7, 4, 2, 5, 9), dim = c(2, 2, 2),
dimnames = list(orig = dn, dest = dn, type = c("ILL", "HEALTHY"))))
# display with row, col and table totals
y
## over three tables
y <- cm3(rtot = c(170, 120, 410), ctot = c(500, 140, 60),
m = array(c(5, 1, 2, 7, 4, 2, 5, 9, 5, 4, 3, 1), dim = c(2, 2, 3),
dimnames = list(orig = dn, dest = dn, type = c("0--15", "15-60", ">60"))),
verbose = FALSE)
# display with row, col and table totals
y
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.