Analysis of Stable Matchings in R ::
C++ R Java Other
Switch branches/tags
Nothing to show
Clone or download
thiloklein hri2 cpu limit
Latest commit 91432a2 Jun 6, 2018
Failed to load latest commit information.
R hri example May 26, 2018
data khb funcion Aug 26, 2016
docs hri2 Feb 26, 2018
inst hri2 Feb 23, 2018
java update jar file Aug 21, 2016
man hri example May 26, 2018
src hri2 cpu limit Jun 6, 2018
vignettes hri2 Feb 23, 2018
.Rbuildignore add 2-sided to vignettes Jan 30, 2016
.gitignore mod4 Jan 29, 2016
.travis.yml ex3 Oct 27, 2015
DESCRIPTION randomization and player names May 22, 2018
NAMESPACE hri2 Feb 23, 2018 hri2 Feb 23, 2018 hri2 Feb 23, 2018
matchingMarkets.Rproj hri2 Feb 23, 2018


Analysis of Stable Matchings in R

CRAN_Status_Badge CRAN_Downloads


The matchingMarkets R package comes with two estimators:

  • stabit: Implements a Bayes estimator that corrects for sample selection in matching markets when the selection process is a one-sided matching game (i.e. group formation).

  • stabit2: Implements the Bayes estimator for a two-sided matching game (i.e. the college admissions and stable marriage problems).

and six algorithms that can be used to simulate matching data:

  • hri: Constraint model for the hospital/residents problem. Finds all stable matchings in two-sided matching markets. Implemented for both the stable marriage problem (one-to-one matching) and the hospital/residents problem, also known as college admissions problem (many-to-one matching).

  • hri2: Roth-Peranson Algorithm for the hospital/residents problem with couples. Finds the resident-optimal stable matching (if one exists) in the two-sided matching market.

  • iaa: Immediate Acceptance Algorithm (a.k.a. Boston mechanism): First-preference-first algorithm used for school choice in many countries. And Gale-Shapley Deferred Acceptance Algorithm.

  • sri: Constraint model for the stable roommates problem. Finds all stable matchings in the roommates problem (one-sided matching market).

  • plp: Partitioning Linear Programme. Finds stable matchings in the roommates problem (one-sided matching market) with transferable utility.

  • ttc: Top-Trading-Cycles Algorithm. Finds stable matchings in the housing market problem.

Functions hri and sri are based on Patrick Prosser's n-ary constraint encoding model. They allow for incomplete preference lists (some agents find certain agents unacceptable) and unbalanced instances (unequal number of agents on both sides).


Get started by installing the R software for statistical computing.

To get the latest stable version of the package from CRAN:


Under Linux, the dependency package gmp requires that you have GNU MP (> 4.1.4) installed: $ sudo apt-get install libgmp-dev. See

To get the most recent development version from GitHub:


or from R-Forge:

install.packages("matchingMarkets", repos="")

Java Note 1: If you get a Java error such as JAVA_HOME cannot be determined from the Registry, this can be resolved by installing a Java version (i.e. 64-bit Java or 32-bit Java) that fits to the type of R version that you are using (i.e. 64-bit R or 32-bit R). This problem can easily effect Windows 7 users, since they might have installed a version of Java that is different than the version of R they are using. See this post and download the Java version from the Oracle website.

Java Note 2: If the installation of the dependent rJava package fails with configuration failed for package ‘rJava’, this can be fixed in Linux by $ sudo apt-get install r-cran-rjava.


Package documentation is available at and the vignette is available from the CRAN page. An application of the estimator in function stabit is in Klein (2015).