[R] Re : 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 21:41:51 CET 2010


On Nov 13, 2010, at 3:24 PM, Biau David wrote:

> Thank you David for your answer,
>
> - grade2 is a factor with 2 categories: "high" and "low"

So "high" would be 1 and low would be 2 by default (alpha ordering)  
factor behavior. as.logical(grade2=="high") reverses that order. If  
you wanted a more "R-isch" solution, try:

stc1$grade2 <- factor(stc1$grade2, levels=c("low", "high) )


> - yes as.factor is superfluous; it is just that it avoids warnings  
> sometimes. This can be overlooked.
> - I will look into Terry Therneau answers; he gives a good  
> explanation on how to obtain the hazard for an individual given a  
> set of predictors for the Cox model; I will look to see if this  
> works for survreg andlook into survreg.distributions if it doesn't
> - I'll come back if I can't figure it out.
>
> Thanks again.
>
> Best,
>
> David Biau.
>
>
> De : David Winsemius <dwinsemius at comcast.net>
> À : Biau David <djmbiau at yahoo.fr>
> Cc : r help list <r-help at r-project.org>
> Envoyé le : Sam 13 novembre 2010, 19h 55min 10s
> Objet : Re: [R] interpretation of coefficients in survreg AND  
> obtaining the hazard function for an individual given a set of  
> predictors
>
>
> 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
>
>
>

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list