Iterates over all possible treatedcontrol school pairs, optionally computes and stores an optimal student match for each one, and generates a distance matrix for schools based on the quality of each student match.
1 2  matchStudents(students, treatment, school.id, match.students,
student.vars, school.caliper = NULL, verbose, penalty.qtile, min.keep.pctg)

students 
a dataframe containing student covariates, with a different row for each student. 
treatment 
the column name of the binary treatment status indicator in the 
school.id 
the column name of the unique school ID in the 
match.students 
logical value. If 
student.vars 
column names of variables in 
school.caliper 
matrix with one row for each treated school and one column for each control school, containing zeroes for pairings allowed by the caliper and 
verbose 
a logical value indicating whether detailed output should be printed. 
penalty.qtile 
a numeric value between 0 and 1 specifying a quantile of the distribution of all studentstudent matching distances. The algorithm will prefer to exclude treated students rather than form pairs with distances exceeding this quantile. 
min.keep.pctg 
a minimum percentage of students in the smaller school in a pair which must be retained, even when treated students are excluded. 
The penalty.qtile
and min.keep.pctg
control the rate at which students are trimmed from the match. If the quantile is high enough no students should be excluded in any match; if the quantile is very low the min.keep.pctg
can still ensure a minimal sample size in each match.
A list with two elements:
student.matches 
a list with one element for each treated school. Each element is a list with one element for each control school, and each element of these secondary lists is a dataframe containing the matched sample for the corresponding treatedcontrol pairing. 
schools.matrix 
a matrix with one row for each treated school and one column for each control school, giving matching distances based on the student match. 
Luke Keele, Penn State University, ljk20@psu.edu
Sam Pimentel, University of Pennsylvania, spi@wharton.upenn.edu
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.