matchOnPs | R Documentation |
Use the provided propensity scores to match target to comparator persons.
matchOnPs(
population,
caliper = 0.2,
caliperScale = "standardized logit",
maxRatio = 1,
allowReverseMatch = FALSE,
stratificationColumns = c()
)
population |
A data frame with the three columns described below. |
caliper |
The caliper for matching. A caliper is the distance which is acceptable for any match. Observations which are outside of the caliper are dropped. A caliper of 0 means no caliper is used. |
caliperScale |
The scale on which the caliper is defined. Three scales are supported:
|
maxRatio |
The maximum number of persons in the comparator arm to be matched to each person in the treatment arm. A maxRatio of 0 means no maximum: all comparators will be assigned to a target person. |
allowReverseMatch |
Allows n-to-1 matching if target arm is larger |
stratificationColumns |
Names or numbers of one or more columns in the |
The data frame should have the following three columns:
rowId (numeric): A unique identifier for each row (e.g. the person ID).
treatment (integer): Column indicating whether the person is in the target (1) or comparator (0) group.
propensityScore (numeric): Propensity score.
The default caliper (0.2 on the standardized logit scale) is the one recommended by Austin (2011).
Returns a date frame with the same columns as the input data plus one extra column: stratumId. Any rows that could not be matched are removed
Rassen JA, Shelat AA, Myers J, Glynn RJ, Rothman KJ, Schneeweiss S. (2012) One-to-many propensity score matching in cohort studies, Pharmacoepidemiology and Drug Safety, May, 21 Suppl 2:69-80.
Austin, PC. (2011) Optimal caliper widths for propensity-score matching when estimating differences in means and differences in proportions in observational studies, Pharmaceutical statistics, March, 10(2):150-161.
rowId <- 1:5
treatment <- c(1, 0, 1, 0, 1)
propensityScore <- c(0, 0.1, 0.3, 0.4, 1)
age_group <- c(1, 1, 1, 1, 1)
data <- data.frame(
rowId = rowId,
treatment = treatment,
propensityScore = propensityScore,
age_group = age_group
)
result <- matchOnPs(data, caliper = 0, maxRatio = 1, stratificationColumns = "age_group")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.