IC2MM {MMAD} | R Documentation |
MM algorithm based on the AD method for case II interval-censored data
Description
The IC2MM
function is used to calculate the case II interval-censored data model. A failure time study that consists of n
independent subjects from a
homogeneous population with survival function S_{(t)}
. Let T_{i}
denote the survival time, and i=1, \ldots, n
. Suppose that interval-censored data on the
T_i
are observed and given by
Y_{obs} = \{ (L_{i}, R_{i}]; i=1, \ldots, n \}
where T_i \in (L_{i}, R_{i}]
. Let \{s_i \}_{j=0}^{m}
denote the unique ordered elements of {0, L_{i}, R_{i}, i=1, \ldots, n }
.
Take \alpha_{ij} = I(s_{j} \in (L_{i}, R_{i}] )
and p_{j}= S(s_{j-1}) - S(s_{j}), j= 1, \ldots, m
. The log-likelihood function is
\ell( {p} | Y_{obs}) = \sum_{i=1}^{n} \log (S(L_{i}) - S(R_{i}) ) = \sum_{i=1}^{n} \log \left( \sum_{j=1}^{m} \alpha_{ij} p_{j} \right)
where {p} = (p_1, \ldots, p_m)^{T}
and \sum_{j=1}^{m} p_{j} = 1 , p_{j} \geqslant 0
.
Usage
IC2MM(formula, data, ...)
Arguments
formula |
A formula object, which contains on the left hand side an object of type = 'interval2' of the type |
data |
A |
... |
Additional arguments, e.g. |
Details
The IC2MM
function allows the distributions for multiple strata of dataset to be stored as one IC2
object, e.g. data=bcos
.
Value
An object of class IC2MM
that contains the following fields: error
: convergence result; strata
: dimensions of each df_tab
;
s
: unique ordered elements of {0, L_{i}, R_{i}, Inf}
, if more than one strata, elements are concatenated; S
: the survival function, if more than one strata, values are concatenated;
df_tab
: the dataframe of survival intervals and survival probabilities for each interval, if more than one strata, dataframes are concatenated.
References
Tian G.L., Huang X.F. and Xu, J.(2019). 'An assembly and decomposition approach for constructing separable minorizing functions in a class of MM algorithms.' Statistica Sinica 29(2), 961-982.
See Also
Examples
library(survival)
L <- c(1.5, 0.1, 1.5, 0.5, 0.4, 0.2, 0.9, 0.2, 0.08, 1.9)
R <- c(2.1, 2.9, 2.7, 1.9, 1.3, 1.4, 2.3, 0.5, 1.5, 4.6 )
data <- data.frame(L, R)
IC2MM(Surv(L,R, type = 'interval2') ~ 1, data )
IC2MM(Surv(L,R, type = 'interval2') ~ 1, data, control=IC2Control(Pdigits=2) )