stratifyByPs uses the provided propensity scores to stratify persons. Additional stratification variables for stratifications can also be used.

stratifyByPs(population, numberOfStrata = 5,
  stratificationColumns = c(), baseSelection = "all")



A data frame with the three columns described below


How many strata? The boundaries of the strata are automatically defined to contain equal numbers of target persons.


Names of one or more columns in the data data.frame on which subjects should also be stratified in addition to stratification on propensity score.


What is the base selection of subjects where the strata bounds are to be determined? Strata are defined as equally-sized strata inside this selection. Possible values are "all", "target", and "comparator".


Returns a date frame with the same columns as the input data plus one extra column: stratumId.


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


rowId <- 1:200 treatment <- rep(0:1, each = 100) propensityScore <- c(runif(100, min = 0, max = 1), runif(100, min = 0, max = 1)) data <- data.frame(rowId = rowId, treatment = treatment, propensityScore = propensityScore) result <- stratifyByPs(data, 5)