Learn R Programming

incubate package

In survival analysis, events sometimes only start to occur after a certain delay since entry time and this delay period might vary for different treatments or groups. While parametric delay models, like the three-parameter Weibull distribution, might adequately describe this process the estimation of delay via standard maximum likelihood is severely biased in small samples. The R-package incubate employs an alternative estimation method called maximum product of spacings estimation (MPSE) to estimate and test delay and other parameters in a one or two group setting. Concretely, employing MPSE, incubate will

  1. fit parameter estimates for one or two groups. Certain parameters can be constrained to be shared between both groups.
  2. calculate bootstrap confidence intervals for these model parameters, and
  3. compare the survival experience of two groups within this statistical model with respect to model parameters.

Example

The incubate-package provides the delayed exponential distribution as a special case of the delayed Weibull distribution. We draw random samples corresponding to two groups with different model parameters.

library("incubate")

# simulate data from exponential distribution with delay
x <- rexp_delayed(n = 13, delay1 = 1.0, rate1 = 0.8)
y <- rexp_delayed(n = 11, delay1 = 1.5, rate1 = 1.2)

We use the model function delay_model to fit an exponential model with delay to both groups and show the model fit.

fm <- delay_model(x, y)

plot(fm)

Inference on the model parameters is possible through confint for bootstrap confidence intervals and delay_test for parameter comparisons in a two group setting.

# confidence interval for delay-parameters
confint(fm, parm = c('delay1.x', 'delay1.y'))
#>               2.5%    97.5%
#> delay1.x 0.8060255 1.094318
#> delay1.y 1.3505059 1.753099

# test on difference in delay
# for real applications use R>=1000 bootstrap draws
delay_test <- test_diff(x, y, R = 100)
plot(delay_test)

Parallel computation

To switch on parallel computation, e.g. for bootstrap parameter tests or power simulations, simply set up a suitable computation plan via the future-framework. For instance, do the following to activate four R-sessions in the background of your local computer for computer-intensive tasks in incubate:

library("future")
plan(multisession, workers = 4)

That’s it. You do not have to change any function calls as incubate is future-aware. Consult the documentation of the futureverse website for more information about this framework and its supported computation plans.

When you are done with the heavy computing, it is best practice to release the parallel connections via plan(sequential).

Installation

The incubate package is found on CRAN and development happens at Gitlab.

Use R’s standard install.packages to install incubate from CRAN as usual, i.e. install.packages("incubate") should do.

To install its latest version from the main branch on Gitlab use the following R-code:

remotes::install_gitlab("imb-dev/incubate")

To install a specific version, add the version tag after the name, separated by a @, e.g. to install incubate in version v1.3.0 use

remotes::install_gitlab("imb-dev/incubate@v1.3.0")

The suffix @develop points to the latest development version on Gitlab.

Copy Link

Version

Install

install.packages('incubate')

Monthly Downloads

214

Version

1.4.0

License

LGPL (>= 3)

Maintainer

Matthias Kuhn

Last Published

March 22nd, 2026

Functions in incubate (1.4.0)

test_GOF

Goodness-of-fit (GOF) test statistic (experimental!)
stankovic

Survival time of mice with glioma under different treatments
scalePars

Calculate parameter scaling for optimization routine.
w2Fint

Internal MLEw weight function W2 according to sampling distribution W2 is either taken directly from the MCSS-results (if available) or are taken from the smooth approximation function, otherwise.
w3FFint

Internal factory method for W3-function based on sampling distribution
test_diff

Test the difference for model parameter(s) between two uncorrelated groups
w1Fint

Internal MLEw-weight W1 function according to sampling distribution Weight W1 for given sample sizes (of one group). For small nObs we use direct results from Monte-Carlo simulation. For higher nObs we use an approximation (based on Wilson-Hilferty transformation).
update.incubate_fit

Refit an incubate_fit-object with specified optimization arguments
transform.incubate_fit

Transform observed data to unit interval
prepResponseVar

Check and prepare the survival response(s)
rockette74

Small data sets from miscellaneous publications
minObjFunAlt

Minimize an objective function with alternative optimizer
power_diff

Power simulation function for a two-group comparison
plot.incubate_fit

Plot a fitted delay-model object of class incubate_fit