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.

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. an optional data.frame in which to interpret the variables occurring in the formula. an optional vector specifying a subset of observations to be used in the fitting process. 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. an optional list. an optional vector of observation weights. a sformula vector; default at 1. a character string specifying the correlation structure. The following are permitted: independence exchangeable ar1 unstructured userdefined fixed an optional vector can be either a numeric vector or a character string specifying the initial slope estimator. When binit is a vector, its length should be the same as the dimension of covariates. When binit is a character string, it should be either lm for simple linear regression, or srrgehan for smoothed Gehan weight estimator. The default value is "srrgehan". a numeric value specifies the resampling number. When B = 0, only the beta estimate will be displayed. controls maxiter and tolerance.

## Value

An object of class "aftgee" representing the fit. The aftgee object 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

## 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

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:n, each = dim))
out
}
set.seed(1)
mydata <- datgen(n = 50, dim = 2)
summary(aftgee(Surv(Y, delta) ~ x1 + x2, data = mydata,
id = id, corstr = "ind", B = 8))#> Call:
#> aftgee(formula = Surv(Y, delta) ~ x1 + x2, data = mydata, id = id,
#>     corstr = "ind", B = 8)
#>
#> AFTGEE Estimator
#>             Estimate StdErr z.value p.value
#> (Intercept)    2.927  0.103  28.371  <2e-16 ***
#> x1             0.939  0.361   2.599   0.009 **
#> x2             0.902  0.061  14.839  <2e-16 ***
#> ---
#> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1summary(aftgee(Surv(Y, delta) ~ x1 + x2, data = mydata,
id = id, corstr = "ex", B = 8))#> Call:
#> aftgee(formula = Surv(Y, delta) ~ x1 + x2, data = mydata, id = id,
#>     corstr = "ex", B = 8)
#>
#> AFTGEE Estimator
#>             Estimate StdErr z.value   p.value
#> (Intercept)    2.942  0.126  23.374 < 2.2e-16 ***
#> x1             0.922  0.206   4.478 < 2.2e-16 ***
#> x2             0.928  0.073  12.745 < 2.2e-16 ***
#> ---
#> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1