[R] interpretation of coefficients in survreg AND obtaining the hazard function for an individual given a set of predictors
David Winsemius
dwinsemius at comcast.net
Sat Nov 13 19:55:10 CET 2010
On Nov 13, 2010, at 12:51 PM, Biau David wrote:
> Dear R help list,
>
> I am modeling some survival data with coxph and survreg
> (dist='weibull') using
> package survival. I have 2 problems:
>
> 1) I do not understand how to interpret the regression coefficients
> in the
> survreg output and it is not clear, for me, from ?survreg.objects
> how to.
Have you read:
?survreg.distributions # linked from survreg help
>
> Here is an example of the codes that points out my problem:
> - data is stc1
> - the factor is dichotomous with 'low' and 'high' categories
Not an unambiguous description for the purposes of answering your many
questions. Please provide data or at the very least: str(stc1)
>
> slr <- Surv(stc1$ti_lr, stc1$ev_lr==1)
>
> mca <- coxph(slr~as.factor(grade2=='high'), data=stc1)
Not sure what that would be returning since we do not know the
encoding of grade2. If you want an estimate on a subset wouldn't you
do the subsetting outside of the formula? (You may be reversing the
order by offering a logical test for grade2.)
> mcb <- coxph(slr~as.factor(grade2), data=stc1)
You have not provided the data or str(stc1), so it is entirely
possible that as.factor is superfluous in this call.
> mwa <- survreg(slr~as.factor(grade2=='high'), data=stc1,
> dist='weibull',
> scale=0)
> mwb <- survreg(slr~as.factor(grade2), data=stc1, dist='weibull',
> scale=0)
>
>> summary(mca)$coef
> coef
> exp(coef) se(coef) z Pr(>|z|)
> as.factor(grade2 == "high")TRUE 0.2416562 1.273356 0.2456232
> 0.9838494 0.3251896
>
>> summary(mcb)$coef
> coef exp(coef)
> se(coef) z Pr(>|z|)
> as.factor(grade2)low -0.2416562 0.7853261 0.2456232 -0.9838494
> 0.3251896
>
>> summary(mwa)$coef
> (Intercept) as.factor(grade2 == "high")TRUE
> 7.9068380 -0.4035245
>
>> summary(mwb)$coef
> (Intercept) as.factor(grade2)low
> 7.5033135 0.4035245
>
>
> No problem with the interpretation of the coefs in the cox model.
> However, i do
> not understand why
> a) the coefficients in the survreg model are the opposite (negative
> when the
> other is positive) of what I have in the cox model? are these not
> the log(HR)
> given the categories of these variable?
Probably because the order of the factor got reversed when you changed
the covariate to logical and them back to factor.
> b) how come the intercept coefficient changes (the scale parameter
> does not
> change)?
>
> 2) My second question relates to the first.
> a) given a model from survreg, say mwa above, how should i do to
> extract the
> base hazard
Answered by Therneau earlier this week and the next question last month:
https://stat.ethz.ch/pipermail/r-help/2010-November/259570.html
https://stat.ethz.ch/pipermail/r-help/2010-October/257941.html
> and the hazard of each patient given a set of predictors? With the
> hazard function for the ith individual in the study given by h_i(t) =
> exp(\beta'x_i)*\lambda*\gamma*t^{\gamma-1}, it doesn't look like to
> me that
> predict(mwa, type='linear') is \beta'x_i.
> b) since I need the coefficient intercept from the model to obtain
> the scale
> parameter to obtain the base hazard function as defined in Collett
> (h_0(t)=\lambda*\gamma*t^{\gamma-1}), I am concerned that this
> coefficient
> intercept changes depending on the reference level of the factor
> entered in the
> model. The change is very important when I have more than one
> predictor in the
> model.
>
> Any help would be greatly appreciated,
>
> David Biau.
>
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list