---
title: "Propensity Score-Integrated Matching Method"
date: "`r Sys.Date()`"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{Propensity Score-Integrated Matching Method}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
```{r, eval=T, echo=FALSE}
suppressMessages(require(psrwe, quietly = TRUE))
org_digits <- options(digits = 3)
set.seed(1000)
```
## Introduction
In the **psrwe**, PS-integrated matching method (Chen, et al., 2021)
is also implemented for leveraging real-world evidence in
evaluation of diagnostic tests for low-prevalence diseases.
This example is based on PS matching and stratification on an important
baseline covariate (e.g., disease stage) that may have a major impact
on the sensitivity of the diagnostic.
Note that this example is only for demonstrating PS matching on
low-prevalent disease, and when the resource may be very limited.
For different scenarios, other PS-integrated approaches may be more
appropriate.
```{r, eval=T, echo=TRUE}
data(ex_dta)
dta_ps <- psrwe_est(ex_dta,
v_covs = paste("V", 1:7, sep = ""),
v_grp = "Group",
cur_grp_level = "current",
ps_method = "logistic")
dta_ps
```
## PS-integrated matching method
The propensity score (PS) estimation above is based on `psrwe_est()`
may provide stratification.
This matching example `psrwe_match()` below will
match the RWD (real-world data) to the current study with $2:1$ ratio
(`ratio = 2`)
based on the covariate `V1` (`strata_covs = "V1"`).
The (categorical) covariate `V1` will be used to create strata,
then the data will be matched within each stratum based on PS values
based on the nearest neighbor algorithm.
Please see Section of Demo example below for the other option using a different
matching algorithm and package.
```{r, eval=T, echo=TRUE}
dta_ps_match <- psrwe_match(dta_ps,
ratio = 2,
strata_covs = "V1",
seed = 123)
dta_ps_match
```
The returned object `dta_ps_match` will be used to calculate
discounting parameters for the study design.
Note that the results are based on two stages indicated by `V1` rather than
five strata originally set by `dta_ps` above.
```{r, eval=T, echo=TRUE}
ps_bor_match <- psrwe_borrow(dta_ps_match,
total_borrow = 30)
ps_bor_match
```
## PSCL and outcome analyses
The PSCL analysis (Wang, et al., 2020) can be done below with the same steps as
other PSCL examples.
```{r, eval=T, echo=TRUE}
rst_cl <- psrwe_compl(ps_bor_match,
outcome_type = "binary",
v_outcome = "Y_Bin")
rst_cl
```
The outcome analysis can be done in the same way.
Note that typically the Wilson score method will be used for constructing
confidence intervals.
```{r, eval=T, echo=TRUE}
oa_cl <- psrwe_outana(rst_cl, method_ci = "wilson", mu = 0.40)
oa_cl
```
## Demo example
The script in "**psrwe/demo/sec_4_3_ex.r**" source file has
the full example for the PS matching, which can be run via
the `demo("sec_4_3_ex", package = "psrwe")`.
Note that the *R* package **optim** may provide other matching algorithms.
However, it may need additional license permission.
Please check the package announcement to see if the package is turned on.
## References
1. Chen, W.-C., Li, H., Wang, C., Lu, N., Song, C., Tiwari, R., Xu, Y., and
Yue, L.Q. (2021).
Evaluation of Diagnostic Tests for Low Prevalence Diseases: A Statistical
Approach for Leveraging Real-World Data to Accelerate the Study.
Journal of Biopharmaceutical Statistics, 31(3), 375-390.
2. Wang, C., Lu, N., Chen, W. C., Li, H., Tiwari, R., Xu, Y., and Yue, L.Q.
(2020).
Propensity score-integrated composite likelihood approach for
incorporating real-world evidence in single-arm clinical studies.
Journal of Biopharmaceutical Statistics, 30(3), 495-507.
```{r, eval=T, echo=FALSE}
## Reset to user's options.
options(org_digits)
```