Learn R Programming

survival (version 2.34-1)

frailty: (Approximate) Frailty models

Description

When included in a coxph or survreg, fits by penalised likelihood a random effects (frailty) model. frailty is generic, with methods for t, Gaussian and Gamma distributions.

Usage

frailty(x, distribution="gamma", ...)
frailty.gamma(x, sparse = (nclass > 5), theta, df, eps = 1e-05, method = c("em","aic", "df", "fixed"), ...) 
frailty.gaussian(x, sparse = (nclass > 5), theta, df, method = c("reml","aic", "df", "fixed"), ...)
frailty.t(x, sparse = (nclass > 5), theta, df, eps = 1e-05, tdf = 5,method = c("aic", "df", "fixed"), ...)

Arguments

x
group indicator
distribution
frailty distribution
...
Arguments for specific distribution, including (but not limited to)
sparse
Use sparse Newton-Raphson algorithm
df
Approximate degrees of freedom
theta
Penalty
eps
Accuracy of df
method
maximisation algorithm
tdf
df of t-distribution

Value

  • An object of class coxph.penalty containing a factor with attributes specifying the control functions.

Details

The penalised likelihood method is equivalent to maximum (partial) likelihood for the gamma frailty but not for the others.

The sparse algorithm uses the diagonal of the information matrix for the random effects, which saves a lot of space.

The frailty distributions are really the log-t and lognormal: t and Gaussian are random effects on the scale of the linear predictor.

References

Therneau TM, Grambsch PM, Pankratz VS (2003) "Penalized survival models and frailty" Journal of Computational and Graphical Statistics 12, 1: 156-175

See Also

coxph,survreg,ridge,pspline

Examples

Run this code
kfit <- coxph(Surv(time, status)~ age + sex + disease + frailty(id), kidney)
kfit0 <- coxph(Surv(time, status)~ age + sex + disease, kidney)
kfitm1 <- coxph(Surv(time,status) ~ age + sex + disease + 
		frailty(id, dist='gauss'), kidney)
coxph(Surv(time, status) ~ age + sex + frailty(id, dist='gauss', method='aic',caic=TRUE), kidney)
# uncorrected aic
coxph(Surv(time, status) ~ age + sex + frailty(id, method='aic', caic=FALSE), kidney)

rfit2a <- survreg(Surv(time, status) ~ rx +
		  frailty.gaussian(litter, df=13, sparse=FALSE), rats )
rfit2b <- survreg(Surv(time, status) ~ rx +
		  frailty.gaussian(litter, df=13, sparse=TRUE), rats )
rfit2a
rfit2b

Run the code above in your browser using DataLab