The MatchedDataFrame class is a subclass of both Matched and DFrame. Therefore, it contains slots and methods for both of these classes.

Details

The MatchedDataFrame class uses a delegate object during initialization to assign its DFrame slots. MatchedDataFrame behaves as a DataFrame but also includes additional Matched object functionality (see ?Matched). For more information about DataFrame see ?S4Vectors::DataFrame.

Slots

focal

A DataFrame object containing the focal data to match.

pool

A DataFrame object containing the pool from which to select matches.

delegate

A DataFrame object used to initialize DataFrame-specific slots. matchRanges() assigns the matched set to the slot.

matchedData

A data.table with matched data

matchedIndex

An integer vector corresponding to the indices in the pool which comprise the matched set.

covar

A character vector describing the covariates used for matching.

method

Character describing replacement method used for matching.

replace

TRUE/FALSE describing if matching was done with or without replacement.

rownames

rownames(delegate)

nrows

nrows(delegate)

listData

as.list(delegate)

elementType

elementType(delegate)

elementMetadata

elementMetadata(delegate)

metadata

metadata(delegate)

Accessor methods for Matched Class

Functions that get data from Matched subclasses (x) such as MatchedDataFrame, MatchedGRanges, and MatchedGInteractions are listed below:

  • matchedData(x): Get matched data from a Matched object

  • covariates(x): Get covariates from a Matched object

  • method(x): Get matching method used for Matched object

  • withReplacement(x): Get replace method

  • indices(x, set): Get indices of matched set

For more detail check the help pages for these functions.

Accessor methods for Matched subclass objects

Additional functions that get data from Matched subclasses (x) such as MatchedDataFrame, MatchedGRanges, and MatchedGInteractions include:

  • focal(x): Get focal set from a Matched object

  • pool(x): Get pool set from a Matched object

  • matched(x): Get matched set from a Matched object

  • unmatched(x): Get unmatched set from a Matched object

For more detail check the help pages for these functions.

Examples

## Constructing MatchedDataFrame with matchRanges
## data.frame
set.seed(123)
x <- makeExampleMatchedDataSet(type = "data.frame")
mx <- matchRanges(
  focal = x[x$feature1, ],
  pool = x[!x$feature1, ],
  covar = ~ feature2 + feature3,
  method = "rejection",
  replace = FALSE
)
class(mx)
#> [1] "MatchedDataFrame"
#> attr(,"package")
#> [1] "nullranges"

## data.table
set.seed(123)
x <- makeExampleMatchedDataSet(type = "data.table")
mx <- matchRanges(
  focal = x[x$feature1],
  pool = x[!x$feature1],
  covar = ~ feature2 + feature3,
  method = "rejection",
  replace = FALSE
)
class(mx)
#> [1] "MatchedDataFrame"
#> attr(,"package")
#> [1] "nullranges"

## DataFrame
set.seed(123)
x <- makeExampleMatchedDataSet(type = "DataFrame")
mx <- matchRanges(
  focal = x[x$feature1, ],
  pool = x[!x$feature1, ],
  covar = ~ feature2 + feature3,
  method = "rejection",
  replace = FALSE
)
class(mx)
#> [1] "MatchedDataFrame"
#> attr(,"package")
#> [1] "nullranges"

## Make MatchedDataFrame example
set.seed(123)
x <- makeExampleMatchedDataSet(type = "DataFrame", matched = TRUE)
## Accessor functions for Matched class
matchedData(x)
#>        id feature2 feature3         ps       set
#>     1:  1 2.879049        c 0.21095908     focal
#>     2:  1 3.539645        c 0.19210984     focal
#>     3:  1 7.117417        c 0.11193396     focal
#>     4:  1 4.141017        a 0.01771986     focal
#>     5:  1 4.258575        c 0.17308581     focal
#>    ---                                          
#> 20496:  0 1.235781        b 0.08945367 unmatched
#> 20497:  0 1.696712        a 0.02707977 unmatched
#> 20498:  0 6.111404        a 0.01255772 unmatched
#> 20499:  0 2.216575        d 0.07578989 unmatched
#> 20500:  0 5.330029        b 0.04535856 unmatched
covariates(x)
#> [1] "feature2" "feature3"
method(x)
#> [1] "rejection"
withReplacement(x)
#> [1] FALSE
head(indices(x, set = 'matched'))
#> [1] 6100 5198 9886 3619 9077 6763

## Accessor functions for Matched subclasses
focal(x)
#> DataFrame with 500 rows and 3 columns
#>      feature1  feature2    feature3
#>     <logical> <numeric> <character>
#> 1        TRUE   2.87905           c
#> 2        TRUE   3.53965           c
#> 3        TRUE   7.11742           c
#> 4        TRUE   4.14102           a
#> 5        TRUE   4.25858           c
#> ...       ...       ...         ...
#> 496      TRUE   1.28384           d
#> 497      TRUE   4.36369           a
#> 498      TRUE   4.32968           b
#> 499      TRUE   4.72823           b
#> 500      TRUE   5.10432           b
pool(x)
#> DataFrame with 10000 rows and 3 columns
#>        feature1  feature2    feature3
#>       <logical> <numeric> <character>
#> 1         FALSE   3.28347           e
#> 2         FALSE   7.12640           a
#> 3         FALSE   1.92222           b
#> 4         FALSE  10.24116           a
#> 5         FALSE  10.17287           c
#> ...         ...       ...         ...
#> 9996      FALSE   1.23578           b
#> 9997      FALSE   1.69671           a
#> 9998      FALSE   6.11140           a
#> 9999      FALSE   2.21657           d
#> 10000     FALSE   5.33003           b
matched(x)
#> DataFrame with 500 rows and 3 columns
#>      feature1  feature2    feature3
#>     <logical> <numeric> <character>
#> 1       FALSE  2.108420           c
#> 2       FALSE  5.991699           b
#> 3       FALSE  5.696525           b
#> 4       FALSE  0.409923           a
#> 5       FALSE  9.330107           b
#> ...       ...       ...         ...
#> 496     FALSE   3.27301           b
#> 497     FALSE   8.05522           c
#> 498     FALSE   2.01576           a
#> 499     FALSE   6.60221           b
#> 500     FALSE   7.79926           c
unmatched(x)
#> DataFrame with 9500 rows and 3 columns
#>       feature1  feature2    feature3
#>      <logical> <numeric> <character>
#> 1        FALSE   3.28347           e
#> 2        FALSE   7.12640           a
#> 3        FALSE   1.92222           b
#> 4        FALSE  10.24116           a
#> 5        FALSE  10.17287           c
#> ...        ...       ...         ...
#> 9496     FALSE   1.23578           b
#> 9497     FALSE   1.69671           a
#> 9498     FALSE   6.11140           a
#> 9499     FALSE   2.21657           d
#> 9500     FALSE   5.33003           b