Accelerated Failure Time with Generalize Estimating Equation

Share:

Description

Fits a semiparametric accelerated failure time (AFT) model with least-squares approach. Generalized estimating equation is generalized to multivariate AFT modeling to account for multivariate dependence through working correlation structures to improve efficiency.

Usage

1
2
3
4
5
aftgee(formula, data, subset, id = NULL,
       contrasts = NULL, weights = NULL,
       margin = NULL, corstr = "independence",
       binit = "srrgehan", B = 100,
       control = aftgee.control())

Arguments

formula

a formula expression, of the form response ~ predictors. The response is a Surv object object with right censoring. In the case of no censoring, aftgee will return an ordinary least estimate when corstr = "independence". See the documentation of lm, coxph and formula for details.

data

an optional data frame in which to interpret the variables occurring in the formula.

id

an optional vector used to identify the clusters. If missing, then each individual row of data is presumed to represent a distinct subject. The length of id should be the same as the number of observations.

subset

an optional vector specifying a subset of observations to be used in the fitting process.

corstr

a character string specifying the correlation structure. The following are permitted: independence, exchangeable, ar1, unstructured, userdefined, and fixed

B

a numeric value specifies the resampling number. When B = 0, only the beta estimate will be displayed.

contrasts

an optional list.

binit

can be either a vector or a character string specifying the initial slope estimator. When binit is a vector, its length should be the same as the number of covariates. When binit is a character string, the following are permitted: lm for simple linear regression, srrgehan for smoothed gehan weight estimator.

weights

an optional vector of observation weights.

margin

a sformula vector; default at 1.

control

controls maxiter and tolerance.

Details

Package: aftgee Type: Package Version: 0.4-3 Date: 2014-04-08 License: GPL (>=3) LazyLoad: yes

Value

An object of class "aftgee" representing the fit. An object of class "aftgee" is a list containing at least the following components:

coefficients

a vector of initial value and a vector of point estimates

coef.res

a vector of point estimates

var.res

estimated covariance matrix

coef.init

a vector of initial value

var.init.mat

estimated initial covariance matrix

binit

a character string specifying the initial estimator.

conv

An integer code indicating type of convergence after GEE iteration. 0 indicates successful convergence; 1 indicates that the iteration limit maxit has been reached

ini.conv

An integer code indicating type of convergence for initial value. 0 indicates successful convergence; 1 indicates that the iteration limit maxit has been reached

conv.step

An integer code indicating the step until convergence

Author(s)

Sy Han Chiou, Sangwook Kang, Jun Yan.

References

Chiou, S., Kim, J. and Yan, J. (2014) Marginal Semiparametric Multivariate Accelerated Failure Time Model with Generalized Estimating Equation. Life Time Data, 20(4): 599–618.

Jin, Z. and Lin, D. Y. and Ying, Z. (2006) On Least-squares Regression with Censored Data. Biometrika, 90, 341–353.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
library(survival)
library(copula)
datgen <- function(n = 100, tau = 0.3, cen = 75.4, dim = 2) {
    kt <- iTau(claytonCopula(1), tau)
    copula <- claytonCopula(kt, dim = dim)
    id <- rep(1:n, rep(dim, n))
    x1 <- rbinom(dim * n, 1, 0.5)
    x2 <- rnorm(dim * n)
    ed <- mvdc(copula, rep("weibull", dim), rep(list(list(shape = 1)), dim))
    e <- c(t(rMvdc(n, ed)))
    T <- exp(2 + x1 + x2 + e)
    cstime <- runif(n, 0, cen)
    delta <- (T < cstime) * 1
    Y <- pmin(T, cstime)
    out <- data.frame(T = T, Y = Y, delta = delta, x1 = x1, x2 = x2, id = rep(1:dim, n))
    out
}
set.seed(1)
mydata <- datgen(n = 50, dim = 2)
summary(aftgee(Surv(Y, delta) ~ x1 + x2, data = mydata, 
               id = id, corstr = "ind", B = 10))
summary(aftgee(Surv(Y, delta) ~ x1 + x2, data = mydata, 
               id = id, corstr = "ex", B = 10))