| Type: | Package |
| Title: | Pseudo Maximum Likelihood Estimation for Semi-Competing Risks Data |
| Version: | 0.1.0 |
| Description: | Implements two-stage pseudo maximum likelihood estimation (PMLE) for copula-based regression models with semi-competing risks data. The marginal distributions are modeled by semiparametric transformation regression models, and the dependence between bivariate event times is specified by a parametric copula function. See Arachchige, Chen and Zhou (2025) <doi:10.1007/s10985-024-09640-z> for details. |
| License: | MIT + file LICENSE |
| Encoding: | UTF-8 |
| Imports: | trust, dplyr, rlang, VineCopula |
| Suggests: | knitr, rmarkdown, kableExtra, SemiCompRisks |
| RoxygenNote: | 7.3.3 |
| VignetteBuilder: | knitr |
| NeedsCompilation: | no |
| Packaged: | 2026-06-02 18:03:10 UTC; KHAN GADGET |
| Author: | Qian M. Zhou [aut], Md. Ismail Hossain [aut, cre] |
| Maintainer: | Md. Ismail Hossain <mr2618@msstate.edu> |
| Repository: | CRAN |
| Date/Publication: | 2026-06-08 18:20:19 UTC |
Simultaneous maximum likelihood estimation (MLE) of copula-based regression models for semi-competing risks (SCR) data
Description
Perform MLE to simultaneously estimate the parameters associated with a copula-based regression models.
Usage
MLE4SCR(
data,
time,
death,
status_time,
status_death,
T.fmla = ~1,
D.fmla = ~1,
Gfun = list(T = "PH", D = "PH"),
copula.family,
copula.control = list(link = NULL, formula = ~1),
initial = NULL
)
Arguments
data |
a data frame containing variables names specified in |
time |
a character string specifying the variable name in the |
death |
a character string specifying the variable name in the |
status_time |
a character string specifying the variable name in the |
status_death |
a character string specifying the variable name in the |
T.fmla |
an object of class |
D.fmla |
an object of class |
Gfun |
a list of two components |
copula.family |
a character string: "Clayton", "Gumbel", "Frank", or "Gaussian" specifying the copula family to be used for the dependence between the bivariate event times. |
copula.control |
a list of two components: |
initial |
a numerical value or a vector of numerical values for the initial values of the copula parameter or the regression coefficients for the copula parameter. If |
Value
a list of the following components:
gamma:a data frame containing the estimates and robust standard errors (SE) of the copula parameter or regression coefficients for the copula parameter.
gamma.cov:a matrix containing the variance or variance-covariance matrix of the copula parameter estimators.
betaT:a data frame containing the estimates and robust SEs of the regression coefficients for the marginal distribution of the non-terminal event time.
dLambdaT:a data frame containing the estimates and robust SEs of the jumps of the baseline function for the marginal distribution of the non-terminal event time.
thetaT.cov:a matrix containing the variance-covariance matrix of the nonterminal marginal parameter estimators.
betaD:a data frame containing the estimates and robust SEs of the regression coefficients for the marginal distribution of the terminal event time.
dLambdaD:a data frame containing the estimates and robust SEs of the jumps of the baseline function for the marginal distribution of the terminal event time.
thetaD.cov:a matrix containing the variance-covariance matrix of the terminal marginal parameter estimators.
call:a list containing the specified values of input arguments
time,death,status_time,status_death,T.fmla,D.fmla,copula.family, and the following two components:
copula.link:a list containing three R functions: "h.fun" (the link function used for the copula parameter), "dot.h.fun" (the first-order derivative of "h.fun"), and "ddot.h.fun" (the second-order derivative of "h.fun").
copula.fmla:the specified value of
fomulaof the input argumentcopula.control.
Par2Tau:a list containing two R functions: "tau.alpha" (transformation from the copula parameter to Kendall's tau), and "Dtau.alpha" (the first-order derivative of "tau.alpha" function)
Examples
data(BMT, package = "SemiCompRisks")
BMT$g <- factor(BMT$g, levels = c(2, 3, 1),
labels = c("AML-low", "AML-high", "ALL"))
myfit <- MLE4SCR(BMT, time = "T2", death = "T1",
status_time = "delta2", status_death = "delta1",
T.fmla = ~ g, D.fmla = ~ g,
copula.family = "Clayton",
copula.control = list(link = NULL, formula = ~ g),
initial = NULL)
myfit$gamma
myfit$betaT
Two-stage pseudo maximum likelihood estimation (PMLE) of copula-based regression models for semi-competing risks (SCR) data
Description
Perform two-stage PMLE to estimate the parameters associated with a copula-based regression models.
Usage
PMLE4SCR(
data,
time,
death,
status_time,
status_death,
T.fmla = ~1,
D.fmla = ~1,
Gfun = list(T = "PH", D = "PH"),
copula.family,
copula.control = list(link = NULL, formula = ~1),
initial = NULL
)
Arguments
data |
a data frame containing variables names specified in |
time |
a character string specifying the variable name in the |
death |
a character string specifying the variable name in the |
status_time |
a character string specifying the variable name in the |
status_death |
a character string specifying the variable name in the |
T.fmla |
an object of class |
D.fmla |
an object of class |
Gfun |
a list of two components |
copula.family |
a character string: "Clayton", "Gumbel", "Frank", or "Gaussian" specifying the copula family to be used for the dependence between the bivariate event times. |
copula.control |
a list of two components: |
initial |
a numerical value or a vector of numerical values for the initial values of the copula parameter or the regression coefficients for the copula parameter. If |
Value
a list of the following components:
gamma:a data frame containing the estimates and robust standard errors (SE) of the copula parameter or regression coefficients for the copula parameter.
gamma.cov:a matrix containing the variance or variance-covariance matrix of the copula parameter estimators.
betaT:a data frame containing the estimates and robust SEs of the regression coefficients for the marginal distribution of the non-terminal event time.
dLambdaT:a data frame containing the estimates and robust SEs of the jumps of the baseline function for the marginal distribution of the non-terminal event time.
thetaT.cov:a matrix containing the variance-covariance matrix of the nonterminal marginal parameter estimators.
betaD:a data frame containing the estimates and robust SEs of the regression coefficients for the marginal distribution of the terminal event time.
dLambdaD:a data frame containing the estimates and robust SEs of the jumps of the baseline function for the marginal distribution of the terminal event time.
thetaD.cov:a matrix containing the variance-covariance matrix of the terminal marginal parameter estimators.
call:a list containing the specified values of input arguments
time,death,status_time,status_death,T.fmla,D.fmla,copula.family, and the following two components:
copula.link:a list containing three R functions: "h.fun" (the link function used for the copula parameter), "dot.h.fun" (the first-order derivative of "h.fun"), and "ddot.h.fun" (the second-order derivative of "h.fun").
copula.fmla:the specified value of
fomulaof the input argumentcopula.control.
Par2Tau:a list containing two R functions: "tau.alpha" (transformation from the copula parameter to Kendall's tau), and "Dtau.alpha" (the first-order derivative of "tau.alpha" function)
Examples
data(BMT, package = "SemiCompRisks")
BMT$g = factor(BMT$g, levels = c(2, 3, 1),
labels = c("AML-low", "AML-high", "ALL"))
myfit = PMLE4SCR(BMT, time = "T2", death = "T1",
status_time = "delta2", status_death = "delta1",
T.fmla = ~ g, D.fmla = ~ g,
copula.family = "Clayton",
copula.control = list(link = NULL, formula = ~ g),
initial = NULL)
myfit$gamma
myfit$betaT
Fit a semi-parametric transformation (SPT) regression model
Description
Fit a semiparametric transformation regression model, where the unspecified baseline function is estimated via nonparametric maximum likelihood estimation (NPMLE) method.
Usage
fitSPT(data, time, status, formula = ~1, Gfun = "PH")
Arguments
data |
a data frame containing variables names specified in |
time |
a character string specifying the variable name in the |
status |
a character string specifying the variable name in the |
formula |
an object of class |
Gfun |
a character string specifying the link function, |
Value
a list of the following components:
betaa data frame containing the estimates, model-based standard erors (SE), and robust SEs for regresson coefficients.
dLambdaa data frame containing the estimates, model-based SEs, and robust SEs for the jumps of the baseline function at observed time points.
Lambdaa data frame containing the estimates, model-based SEs, and robust SEs for the baseline function at observed time points.
varcova list of two elements:
model, the model-based variance-covariance matrix for all regression and baseline function parameter estimators, androbust, the robust variance-covariance matrix for parameter estimators.Psi.thetaa data frame containing the estimated asymptotic expansion of the NPMLE estimator.
calla list containing the specified values of the input arguments.
convergencea logical value indicating whether the maximization of the log-likelihood converges or not.
niteran interger which is the number of iterations for the maximization of the log-likelihood.
Examples
data(BMT, package = "SemiCompRisks")
BMT$g <- factor(BMT$g, levels = c(2, 3, 1),
labels = c("AML-low", "AML-high", "ALL"))
fitSPT(BMT, time = "T1", status = "delta1",
formula = ~ g, Gfun = "PH")$beta
Survival estimation under semi-parametric transformation regression model (SPT) for a given data
Description
Computes survival probability estimates for new data using a fitted
fitSPT object.
Usage
predictFitSPT(obj, newdata)
Arguments
obj |
an object of |
newdata |
a data frame containing the same variables in the |
Value
a list of the following components:
surva data frame containing the estimate, model-based standard eror (SE), and robust SE for the survival probabilities for a given data.
Psi.surva data frame containing the estimated asymptotic expansion of the estimator of the survival probabilities.
Examples
data(BMT, package = "SemiCompRisks")
BMT$g <- factor(BMT$g, levels = c(2, 3, 1),
labels = c("AML-low", "AML-high", "ALL"))
fit <- fitSPT(BMT, time = "T1", status = "delta1",
formula = ~ g, Gfun = "PH")
predictFitSPT(fit, BMT)$surv