survival (version 2.9-6)

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
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
caic
Use corrected AIC rather than AIC

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.

See Also

coxph,survreg,ridge,pspline

Examples

Run this code
data(kidney)
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=F), kidney)

data(rats)
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