Parametric Regression Models for Interval Censored Data
Parametric Regression Models for Interval Censored Data
Fits a parametric regression model for interval censored data. Can fita proportional hazards, proportional odds or accelerated failure time model.
ic_par(formula, data, model ="ph", dist ="weibull", weights =NULL)
Arguments
formula: Regression formula. Response must be a Surv object of type 'interval2' or cbind. See details.
data: Dataset
model: What type of model to fit. Current choices are "ph" (proportional hazards), "po" (proportional odds) or "aft" (accelerated failure time)
dist: What baseline parametric distribution to use. See details for current choices
weights: vector of case weights. Not standardized; see details
Details
Currently supported distributions choices are "exponential", "weibull", "gamma", "lnorm", "loglogistic" and "generalgamma" (i.e. generalized gamma distribution).
Response variable should either be of the form cbind(l, u) or Surv(l, u, type = 'interval2'), where l and u are the lower and upper ends of the interval known to contain the event of interest. Uncensored data can be included by setting l == u, right censored data can be included by setting u == Inf or u == NA and left censored data can be included by setting l == 0.
Does not allow uncensored data points at t = 0 (i.e. l == u == 0), as this will lead to a degenerate estimator for most parametric families. Unlike the current implementation of survival's survreg, does allow left side of intervals of positive length to 0 and right side to be Inf.
In regards to weights, they are not standardized. This means that if weight[i] = 2, this is the equivalent to having two observations with the same values as subject i.
For numeric stability, if abs(right - left) < 10^-6, observation are considered uncensored rather than interval censored with an extremely small interval.
Examples
data(miceData)logist_ph_fit <- ic_par(Surv(l, u, type ='interval2')~ grp, data = miceData, dist ='loglogistic')logist_po_fit <- ic_par(cbind(l, u)~ grp, data = miceData, dist ='loglogistic', model ='po')summary(logist_ph_fit)summary(logist_po_fit)