Fit an integrative Cox model proposed by Wang et al. (2020) for right-censored survival data with uncertain event times due to imperfect data integration.

iCoxph(
  formula,
  data,
  subset,
  na.action,
  contrasts = NULL,
  start = iCoxph.start(),
  control = iCoxph.control(),
  ...
)

Arguments

formula

Survi object specifying the covariates and response variable in the model, such as Survi(ID, time, event) ~ x1 + x2.

data

An optional data frame, list, or environment that contains the covariates and response variables included in the model. If not found in data, the variables are taken from environment(formula), usually the environment from which this function is called.

subset

An optional logical vector specifying a subset of observations to be used in the fitting process.

na.action

An optional function that indicates what should the procedure do if the data contains NAs. The default is set by the na.action setting of options. The "factory-fresh" default is na.omit. Other possible values include na.fail, na.exclude, and na.pass. help(na.fail) for details.

contrasts

An optional list, whose entries are values (numeric matrices or character strings naming functions) to be used as replacement values for the contrasts replacement function and whose names are the names of columns of data containing factors. See contrasts.arg of model.matrix.default for details.

start

A list returned by function iCoxph.start specifying starting values of the parameters to be estimated in the model. Please refer to the arguments of iCoxph.start for the available parameters.

control

A list returned by function iCoxph.control specifying control parameters for the model estimation procedure. Please refer to the arguments of iCoxph.control for the available parameters.

...

Other arguments for future usage. A warning will be thrown if any invalid argument is specified.

Value

An iCoxph-class object, whose slots include

  • call: Function call.

  • formula: Formula used in the model fitting.

  • data: A processed data frame used for model fitting.

  • nObs: Number of observation.

  • estimates:

    • beta: Coefficient estimates.

    • pi: Estimated parameters in prior multinomial distribution indicating the probabilities of corresponding record being true.

    • baseline: A data frame that contains estimated baseline hazard function with columns named time and h0.

  • start: The initial guesses beta_mat and pi_mat specified for the parameters to be estimated, and the set of initial guess beta_start and pi_start that resulted in the largest objective function, i.e., the observed-data likelihood function.

  • control: The control list specified for model fitting.

  • na.action: The procedure specified to deal with missing values in the covariate.

  • xlevels: A list that records the levels in each factor variable.

  • contrasts: Contrasts specified and used for each factor variable.

  • convergeCode: code returned by function nlm, which is an integer indicating why the optimization process terminated. help(nlm) for details.

  • logL: A numeric vector containing the observed-data log-likelihood over iterations.

References

Wang, W., Aseltine, R. H., Chen, K., & Yan, J. (2020). Integrative Survival Analysis with Uncertain Event Times in Application to A Suicide Risk Study. Annals of Applied Statistics, 14(1), 51--73.

See also

iCoxph.start and iCoxph.control, respectively, for starting and controlling iCoxph fitting; summary,iCoxph-method for summary of fitted model; coef,iCoxph-method for estimated covariate coefficients; bootSe for SE estimates from bootstrap methods.

Examples

library(intsurv) ## generate simulated survival data with uncertain records set.seed(123) simuDat <- simData4iCoxph(nSubject = 200) ## fit the integertive Cox model fit <- iCoxph(Survi(ID, time, event) ~ x1 + x2 + x3 + x4, data = simuDat, start = iCoxph.start(methods = "nearest"), control = iCoxph.control(tol_beta = 1e-5)) ## estimated covariate coefficients coef(fit)
#> x1 x2 x3 x4 #> 0.7359470 0.9545273 0.7262900 0.8679733
## get SE estimates by bootstrap fit <- bootSe(fit, B = 30) ## summary of the fitted model summary(fit)
#> Call: #> iCoxph(formula = Survi(ID, time, event) ~ x1 + x2 + x3 + x4, #> data = simuDat, start = iCoxph.start(methods = "nearest"), #> control = iCoxph.control(tol_beta = 1e-05)) #> #> Coefficients of covariates: #> coef exp(coef) se(coef) z Pr(>|z|) #> x1 0.73595 2.08746 0.24094 3.0545 0.002255 ** #> x2 0.95453 2.59744 0.29606 3.2241 0.001263 ** #> x3 0.72629 2.06740 0.16526 4.3949 1.108e-05 *** #> x4 0.86797 2.38208 0.59304 1.4636 0.143304 #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> Log-likelihood under observed data: -1150.269