suppressMessages(require(psrwe, quietly = TRUE))
options(digits = 3)
set.seed(1000)


Introduction

In the psrwe, PS-integrated Kaplan-Meier (PSKM) method (Chen, et al., 2022) is also implemented for leveraging real-world evidence in augmenting single-arm studies. The PSKM is an non-parametric approach for evaluating time-to-event endpoints.

Similar with the approaches: PSPP (Wang, et al., 2019) and PSCL (Wang, et al., 2020), the PS-integrated study design functions, psrwe_est() and psrwe_borrow(), below estimate PS model, set borrowing parameters, and determine discounting parameters for borrowing information.

data(ex_dta)
dta_ps <- psrwe_est(ex_dta,
                    v_covs = paste("V", 1:7, sep = ""),
                    v_grp = "Group",
                    cur_grp_level = "current",
                    nstrata = 5,
                    ps_method = "logistic")
ps_bor <- psrwe_borrow(dta_ps,
                       total_borrow = 30,
                       method = "distance")


PS-integrated Kaplan-Meier method

For single arm studies, when there is one external data source, the function psrwe_survkm() allows one to conduct the survival analysis via Kaplan-Meier (KM) estimates (Kaplan and Meier, 1985). The PSKM approach is applied in each PS stratum to obtain stratum-specific KM estimates on all distinctive time points, which are combined to complete the overall survival estimates. Suppose we are interested in the survival probability at one year, then we may use the argument pred_tp=365 (days) in the function psrwe_survkm() to specify the time point of interest.

rst_km <- psrwe_survkm(ps_bor,
                       pred_tp = 365,
                       v_time  = "Y_Surv",
                       v_event = "Status")
rst_km

The pred_tp_365 will be carried on to other down-stream analyses. However, the function psrwe_survkm() still returns results on all distinctive time points which may be also needed for down-stream analysis (e.g., visualizing KM curves and confidence intervals). Therefore, the returned object rst_km above may have different data structure then those returned by the PSPP and PSCL approaches. Please use str() to see the details.

The default method of stderr_method for KM estimates is based on the Greenwood formula and the asymptotic theorem that may rely on the independent assumption. However, the Jackknife may provide more robust estimations for the standard errors in general.

Two Jackknife options have been implemented for estimating standard errors of the survival estimates via the options for the function psrwe_survkm(): stderr_method = "jk" applies Jackknife by each stratum. stderr_method = "sjk" applies simple Jackknife on the overall survival probability. Both results may be similar but slightly different since the overall weights are fixed and close to one over the number of total strata.

Please see Section of Demo example below for examples using stderr_method.

Visualized PSKM results

The overall survival estimates can be further visualized as below.

plot(rst_km)

The stratum-specific survival estimates can be further visualized as below.

plot(rst_km, add_ci = FALSE, add_stratum = TRUE)

The confidence intervals can be also visualized as below.

plot(rst_km, conf_type = "plain")


PSKM inference

The inference for the parameters of interest such as survival probability or rate at one year (pred_tp=365 days) can be further arrived from the utility function psrwe_outana(). For example, the code below test the one year survival probability is greater than mu = 0.7 (i.e., 70%) or not, i.e., the example tests $$ H_0: S(\tau) \leq 0.7 \quad \mbox{vs.} \quad H_a: S(\tau) > 0.7 $$ where $S(\tau)$ is the survival probability at time $\tau = 365$ days.

oa_km <- psrwe_outana(rst_km, mu = 0.70, alternative = "greater")
oa_km

The details of stratum-specific estimates can be printed via the print() function with the option show_details = TRUE.

print(oa_km, show_details = TRUE)

As the survival package, the results of other time points can be also predicted via the summary() with the option pred_tps.

summary(oa_km, pred_tps = c(180, 365))


Demo example

The script in "psrwe/demo/sec_4_4_ex.r" source file has the full example for the PSKM single-arm study which can be run via the demo("sec_4_4_ex", package = "psrwe").

Two Jackknife standard errors are also demonstrated in the script. Note that Jackknife standard errors may take a while to finish.

References

  1. Kaplan, E. L. and Meier, P. (1958). Nonparametric Estimation from Incomplete Observations. Journal of the American Statistical Association, 53(282), 457-481.

  2. Chen, W.-C., Lu, N., Wang, C., Li, H., Song, C., Tiwari, R., Xu, Y., and Yue, L.Q. (2022). Propensity Score-Integrated Approach to Survival Analysis: Leveraging External Evidence in Single-Arm Studies. Journal of Biopharmaceutical Statistics, 32(3), 400-413.

  3. Wang, C., Li, H., Chen, W. C., Lu, N., Tiwari, R., Xu, Y., and Yue, L.Q. (2019). Propensity score-integrated power prior approach for incorporating real-world evidence in single-arm clinical studies. Journal of Biopharmaceutical Statistics, 29(5), 731-748.

  4. 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.



olssol/psrwe documentation built on July 17, 2024, 4:06 p.m.