matchRanges {nullranges} | R Documentation |
matchRanges()
uses a propensity score-based method to
generate a covariate-matched control set of DataFrame,
GRanges, or GInteractions objects.
matchRanges(focal, pool, covar, method = "rejection", replace = FALSE, ...) ## S4 method for signature ## 'DF_OR_df_OR_dt, ## DF_OR_df_OR_dt, ## formula, ## character_OR_missing, ## logical_OR_missing' matchRanges(focal, pool, covar, method, replace) ## S4 method for signature ## 'GRanges,GRanges,formula,character_OR_missing,logical_OR_missing' matchRanges(focal, pool, covar, method, replace) ## S4 method for signature ## 'GInteractions, ## GInteractions, ## formula, ## character_OR_missing, ## logical_OR_missing' matchRanges(focal, pool, covar, method, replace)
focal |
A DataFrame, GRanges, or GInteractions object containing the focal data to match. |
pool |
A DataFrame, GRanges, or GInteractions object containing the pool from which to select matches. |
covar |
A rhs formula with covariates on which to match. |
method |
A character describing which matching method to use. supported options are either 'nearest', 'rejection', or 'stratified'. |
replace |
TRUE/FALSE describing whether to select matches with or without replacement. |
... |
Additional arguments. |
Available inputs for focal
and pool
include data.frame
,
data.table
, DataFrame
, GRanges
, or GInteractions
.
data.frame
and data.table
inputs are coerced to DataFrame
objects and returned as MatchedDataFrame
while GRanges
and
GInteractions
objects are returned as MatchedGRanges
or
MatchedGInteractions
, respectively.
A covariate-matched control set of data.
method = 'nearest'
: Nearest neighbor matching
with replacement. Finds the nearest neighbor by using a
rolling join with data.table
. Matching without replacement
is not currently supported.
method = 'rejection'
: (Default) Rejection sampling
with or without replacement. Uses a probability-based approach
to select options in the pool
that match the focal
distribition.
method = 'stratified'
: Iterative stratified sampling
with or without replacement. Bins focal
and pool
propensity
scores by value and selects matches within bins until all focal
items have a corresponding match in pool
.
## Match with DataFrame set.seed(123) x <- makeExampleMatchedDataSet(type = 'DataFrame') matchRanges(focal = x[x$feature1,], pool = x[!x$feature1,], covar = ~feature2 + feature3) ## Match with GRanges set.seed(123) x <- makeExampleMatchedDataSet(type = "GRanges") matchRanges(focal = x[x$feature1,], pool = x[!x$feature1,], covar = ~feature2 + feature3) ## Match with GInteractions set.seed(123) x <- makeExampleMatchedDataSet(type = "GInteractions") matchRanges(focal = x[x$feature1,], pool = x[!x$feature1,], covar = ~feature2 + feature3) ## Nearest neighbor matching with replacement set.seed(123) x <- makeExampleMatchedDataSet(type = 'DataFrame') matchRanges(focal = x[x$feature1,], pool = x[!x$feature1,], covar = ~feature2 + feature3, method = 'nearest', replace = TRUE) ## Rejection sampling without replacement set.seed(123) x <- makeExampleMatchedDataSet(type = 'DataFrame') matchRanges(focal = x[x$feature1,], pool = x[!x$feature1,], covar = ~feature2 + feature3, method = 'rejection', replace = FALSE) ## Stratified sampling without replacement set.seed(123) x <- makeExampleMatchedDataSet(type = 'DataFrame') matchRanges(focal = x[x$feature1,], pool = x[!x$feature1,], covar = ~feature2 + feature3, method = 'stratified', replace = FALSE)