Learn R Programming

eha (version 1.2-18)

weibreg: Weibull Regression

Description

Proportional hazards model with baseline hazard(s) from the Weibull family of distributions. Allows for stratification with different scale and shape in each stratum, and left truncated and right censored data.

Usage

weibreg(formula = formula(data), data = parent.frame(),
na.action = getOption("na.action"), init, shape = 0,
control = list(eps = 1e-04, maxiter = 10, trace = FALSE),
singular.ok = TRUE, model = FALSE, x = FALSE, y = TRUE, center = TRUE)

Arguments

formula
a formula object, with the response on the left of a ~ operator, and the terms on the right. The response must be a survival object as returned by the Surv function.
data
a data.frame in which to interpret the variables named in the formula.
na.action
a missing-data filter function, applied to the model.frame, after any subset argument has been used. Default is options()$na.action.
init
vector of initial values of the iteration. Default initial value is zero for all variables.
shape
If positive, the shape parameter is fixed at that value (in each stratum). If zero or negative, the shape parameter is estimated. If more than one stratum is present in data, each stratum gets its own estimate.
control
a list with components eps (convergence criterion), maxiter (maximum number of iterations), and silent (logical, controlling amount of output). You can change any component without mention the other(s).
singular.ok
Not used.
model
Not used.
x
Return the design matrix in the model object?
y
Return the response in the model object?
center
Deprecated, and not used. Will be removed in the future.

Value

  • A list of class c("weibreg", "coxreg", "coxph") with components
  • coefficientsFitted parameter estimates.
  • varCovariance matrix of the estimates.
  • loglikVector of length two; first component is the value at the initial parameter values, the second componet is the maximized value.
  • scoreThe score test statistic (at the initial value).
  • linear.predictorsThe estimated linear predictors.
  • meansMeans of the columns of the design matrix.
  • w.meansWeighted (against exposure time) means of covariates; weighted relative frequencies of levels of factors.
  • nNumber of spells in indata (possibly after removal of cases with NA's).
  • eventsNumber of events in data.
  • termsUsed by extractor functions.
  • assignUsed by extractor functions.
  • yThe Surv vector.
  • isFLogical vector indicating the covariates that are factors.
  • covarsThe covariates.
  • ttrTotal Time at Risk.
  • levelsList of levels of factors.
  • formulaThe calling formula.
  • callThe call.
  • methodThe method.
  • convergenceDid the optimization converge?
  • failDid the optimization fail? (Is NULL if not).
  • pfixedTRUE if shape was fixed in the estimation.

Warning

The print method print.weibreg doesn't work if threeway or higher order interactions are present. Use print.coxph in that case.

Note further that covariates are internally centered, if center = TRUE, by this function, and this is not corrected for in the output. This affects the estimate of $\log(scale)$, but nothing else. If you don't like this, set center = FALSE.

Details

The parameterization is the same as in coxreg and coxph, but different from the one used by survreg. The model is $$h(t; a, b, \beta, z) = (a/b) (t/b)^{a-1}\exp(z\beta)$$ This is in correspondence with Weibull. To compare regression coefficients with those from survreg you need to divide by estimated shape ($\hat{a}$) and change sign. The p-values and test statistics are however the same, with one exception; the score test is done at maximized scale and shape in weibreg.

This model is a Weibull distribution with shape parameter $a$ and scale parameter $b \exp(-z\beta / a)$

See Also

coxreg, mlreg, print.weibreg

Examples

Run this code
dat <- data.frame(time = c(4, 3, 1, 1, 2, 2, 3),
                status = c(1, 1, 1, 0, 1, 1, 0),
                x = c(0, 2, 1, 1, 1, 0, 0),
                sex = c(0, 0, 0, 0, 1, 1, 1))
 weibreg( Surv(time, status) ~ x + strata(sex), data = dat) #stratified model

Run the code above in your browser using DataLab