Title: | Clinical Trial Calculation Based on BCHM Design |
Version: | 1.00 |
Author: | Nan Chen and J. Jack Lee |
Description: | Users can estimate the treatment effect for multiple subgroups basket trials based on the Bayesian Cluster Hierarchical Model (BCHM). In this model, a Bayesian non-parametric method is applied to dynamically calculate the number of clusters by conducting the multiple cluster classification based on subgroup outcomes. Hierarchical model is used to compute the posterior probability of treatment effect with the borrowing strength determined by the Bayesian non-parametric clustering and the similarities between subgroups. To use this package, 'JAGS' software and 'rjags' package are required, and users need to pre-install them. |
Depends: | R (≥ 3.5), rjags |
License: | LGPL-2 |
Maintainer: | J. Jack Lee <jjlee@mdanderson.org> |
Imports: | stats, cluster, coda, knitr, crayon, plyr |
Suggests: | testthat |
LazyData: | true |
Encoding: | UTF-8 |
SystemRequirements: | JAGS |
RoxygenNote: | 7.0.2 |
VignetteBuilder: | knitr |
NeedsCompilation: | no |
Packaged: | 2020-06-04 18:44:23 UTC; nchen2 |
Repository: | CRAN |
Date/Publication: | 2020-06-05 22:00:13 UTC |
Perform the analysis based on the BCHM design.
Description
The BCHM computation is based on the Bayesian Cluster Hierarchical Model (BCHM) to perform the non-parametric Bayesian clustering and posterior probability calculation with the Bayesian hierarchical model for binary response data in several subgroups. Due to the potential heterogeneity among subgroups, the exchangeability assumption across all subgroups may not hold. A Bayesian non-parametric method is applied to calculate the number of clusters by conducting the multiple cluster classification based on subgroup outcomes. Due to the MCMC sampling, the clustering result is dynamic. A cluster matrix (Similarity Matrix) is constructed to depict the strength of association between any two subgroups to be classified into the same cluster. The Bayesian hierarchical model is used to compute the posterior probability of treatment effect with the borrowing strength determined by the similarity matrix values calculated from the Bayesian non-parametric clustering.
Usage
BCHM(
nDat,
xDat,
mu = 0.2,
sigma02 = 10,
sigmaD2 = 0.001,
alpha = 1e-60,
d0 = 0.05,
alpha1 = 50,
beta1 = 10,
tau2 = 0.1,
phi1 = 0.1,
deltaT = 0.05,
thetaT = 0.6,
burnIn = 10000,
MCIter = 20000,
MCNum = 20000,
seed = 1000
)
Arguments
nDat |
Number of patients in each subgroup. |
xDat |
Number of responses in each subgroup. |
mu |
Hyperprior mean for the cluster. |
sigma02 |
Hyperprior variance for the cluster. |
sigmaD2 |
Variance of subgroup response rate. |
alpha |
Alpha value of the Dirichlet Process determining number of clusters. |
d0 |
Minimum value for the similarity matrix. |
alpha1 |
Prior for borrowing strength gamma(alpha1, beta1) in the hierarchical model. |
beta1 |
Prior for borrowing strength gamma(alpha1, beta1) in the hierarchical model. |
tau2 |
Hyperprior precision parameter of subgroup means in the hierarchical model |
phi1 |
The response rate of the standard treatment. |
deltaT |
The expected improvement in the response rate over the standard treatment. |
thetaT |
Threshold value for the inference claiming efficacy. |
burnIn |
Number of burn_in in MCMC. |
MCIter |
Number of MCMC iterations. |
MCNum |
Number of MCMC iterations in the hierarchical model. |
seed |
Random seed. |
Value
The return is a list including three elements: Samples
, SMatrix
, and Result
.
The return list element Samples
is the sampled posterior response rates of all subgroups.
The return list element SMatrix
is the similarity matrix of all subgroups.
The return list element Result
is the calculation results of all subgroups. It has seven columns: the number of responses of each subgroups, the number of patients in each subgroups, the observe response rates of each subgroups, the cluster index of each subgroups, the posterior mean response rates of each subgroups, the probability of Pr(P>Phi1+deltaT) of each subgroups, and the final decision (0: Not rejected the null, 1 Rejected the null). Note: Because a MCMC computation is applied in the clustering calculation, there are many possible clustering configurations. The cluster index in column 4 is the most possible clustering configuration.
See Also
BCHMplot_cluster Plot the clustering results of subgroups.
BCHMplot_post_value Plot the posterior response of subgroups.
BCHMplot_post_dist Plot the posterior distributions of subgroups.
Examples
nDat = c(25, 25, 25, 25) # total number of patients
xDat = c(2, 3, 8, 6) # number of responses
alpha <- 1e-20
d0 <- 0.0
alpha1 = 50
beta1 = 10
tau2 <- 0.1
phi1 <- 0.1
deltaT <- 0.2
thetaT <- 0.60
res <- BCHM(nDat = nDat,
xDat = xDat,
alpha = alpha,
d0 = d0,
alpha1 = alpha1,
beta1 = beta1,
tau2 = tau2,
phi1 = phi1,
deltaT = deltaT,
thetaT = thetaT,
burnIn = 100,
MCIter = 200,
MCNum = 1000,
seed = 1000
)
print(res$SMatrix)
print(res$Result)
col <- res$Result[,4]
BCHMplot_cluster(res, col, pch=16)
BCHMplot_post_value(res, col, HPD = 0.8)
BCHMplot_post_dist(res, col, lty=1:length(nDat), lwd =3, xlim=c(0, 0.8))
Plot the clustering results of subgroups.
Description
plot the observed response rate versus subgroup ID with clusters coded by the color of dots.
Usage
BCHMplot_cluster(
res,
col = res$Result[, 4],
pch = 16,
xlim = c(0, dim(res$Result)[1] + 2),
ylim = c(0, 1),
cex = 2,
...
)
Arguments
res |
BCHM calculation results. |
col |
Color vector |
pch |
pch vector |
xlim |
X-axis range |
ylim |
Y-axis range |
cex |
size of points |
... |
other options |
Value
None
See Also
BCHM Perform the analysis based on the BCHM design.
BCHMplot_post_value Plot the posterior response of subgroups.
BCHMplot_post_dist Plot the posterior distributions of subgroups.
Examples
nDat = c(25, 25, 25, 25) # total number of patients
xDat = c(2, 3, 8, 6) # number of responses
alpha <- 1e-20
d0 <- 0.0
alpha1 = 50
beta1 = 10
tau2 <- 0.1
phi1 <- 0.1
deltaT <- 0.2
thetaT <- 0.60
res <- BCHM(nDat = nDat,
xDat = xDat,
alpha = alpha,
d0 = d0,
alpha1 = alpha1,
beta1 = beta1,
tau2 = tau2,
phi1 = phi1,
deltaT = deltaT,
thetaT = thetaT,
burnIn = 100,
MCIter = 200,
MCNum = 1000,
seed = 1000
)
print(res$SMatrix)
print(res$Result)
col <- res$Result[,4]
BCHMplot_cluster(res, col, pch=16)
Plot the posterior distributions of subgroups.
Description
plot the posterior distribution by subgroup ID
Usage
BCHMplot_post_dist(
res,
col = res$Result[, 4],
lty = 1:dim(res$Result)[1],
lwd = 2,
xlim = c(0, 1),
ylim = c(0, 20),
...
)
Arguments
res |
BCHM calculation results. |
col |
Color vector |
lty |
line types |
lwd |
line width |
xlim |
X-axis range |
ylim |
Y-axis range |
... |
other options |
Value
None
See Also
BCHM Perform the analysis based on the BCHM design.
BCHMplot_cluster Plot the clustering results of subgroups.
BCHMplot_post_value Plot the posterior response of subgroups.
Examples
nDat = c(25, 25, 25, 25) # total number of patients
xDat = c(2, 3, 8, 6) # number of responses
alpha <- 1e-20
d0 <- 0.0
alpha1 = 50
beta1 = 10
tau2 <- 0.1
phi1 <- 0.1
deltaT <- 0.2
thetaT <- 0.60
res <- BCHM(nDat = nDat,
xDat = xDat,
alpha = alpha,
d0 = d0,
alpha1 = alpha1,
beta1 = beta1,
tau2 = tau2,
phi1 = phi1,
deltaT = deltaT,
thetaT = thetaT,
burnIn = 100,
MCIter = 200,
MCNum = 1000,
seed = 1000
)
print(res$SMatrix)
print(res$Result)
col <- res$Result[,4]
BCHMplot_post_dist(res, col, lty=1:length(nDat), lwd =3, xlim=c(0, 0.8))
Plot the posterior response of subgroups.
Description
plot the posterior response rate with its highest probability density (HPD) interval by subgroup ID
Usage
BCHMplot_post_value(
res,
col = res$Result[, 4],
pch = c(19, 4),
cex = 2,
HPD = 0.95,
xlim = c(0, dim(res$Result)[1] + 2),
ylim = c(0, 1),
ObsMean = FALSE,
...
)
Arguments
res |
BCHM calculation results. |
col |
Color vector |
pch |
pch vector pch[1] Posterior mean pch[2] Observed mean |
cex |
size of points |
HPD |
Highest Posterior Density level for drawing (NA: No HPD drawing ) |
xlim |
X-axis range |
ylim |
Y-axis range |
ObsMean |
Draw the observed mean of subgroups if this parameter is TRUE |
... |
other options |
Value
None
See Also
BCHM Perform the analysis based on the BCHM design.
BCHMplot_cluster Plot the clustering results of subgroups.
BCHMplot_post_dist Plot the posterior distributions of subgroups.
Examples
nDat = c(25, 25, 25, 25) # total number of patients
xDat = c(2, 3, 8, 6) # number of responses
alpha <- 1e-20
d0 <- 0.0
alpha1 = 50
beta1 = 10
tau2 <- 0.1
phi1 <- 0.1
deltaT <- 0.2
thetaT <- 0.60
res <- BCHM(nDat = nDat,
xDat = xDat,
alpha = alpha,
d0 = d0,
alpha1 = alpha1,
beta1 = beta1,
tau2 = tau2,
phi1 = phi1,
deltaT = deltaT,
thetaT = thetaT,
burnIn = 100,
MCIter = 200,
MCNum = 1000,
seed = 1000
)
print(res$SMatrix)
print(res$Result)
col <- res$Result[,4]
BCHMplot_post_value(res, col, HPD = 0.8)