如何从coxph获得累积危险比的输出?

时间:2016-08-04 09:50:30

标签: r survival-analysis cox-regression

如何从coxph获得累积危险比的输出?

我有我的coxmodel

coxfit <- coxph(Surv(combi$survival, combi$realdeath) ~ combi$meanrr, combi)

并获取输出

# Call:
# coxph(formula = Surv(combi$survival, realdeath) ~ combi$meanrr, 
#     data = combi)
# 
#                   coef exp(coef)  se(coef)     z       p
# combi$meanrr -0.004140  0.995869  0.000905 -4.57 4.8e-06
# 
# Likelihood ratio test=21.9  on 1 df, p=2.94e-06
# n= 311, number of events= 70 

我知道我可以使用hr = exp(-0.004140)ci= exp(-0.004140-1.96*0.000905)exp(-0.004140+1.96*0.000905)

手动计算危险比率

这将使我的HR增加一个单位且置信区间。

是否有一个函数可以将结果作为矢量或data.frame?优先考虑我是否可以定义感兴趣的单位数量,例如

somefunction(coxfit, unit_step)

但只是计算累积危险比很好

2 个答案:

答案 0 :(得分:1)

您可以使用basehaz()survfit()提取累积危险。

在您的案例中为您的模型键入str(basehaz(coxfit))str(survfit(coxfit))将揭示数据对象的结构,并提供basehaz(coxfit)$hazardsurvfit(coxfit)$cumhaz生成向量/的线索/你追求的数据帧友好的输出。

?basehaz的帮助说明会告诉您survfit()是首选方法,实际上后者提供了全面的输出,包括CI。

答案 1 :(得分:1)

摘要(coxfit)给出了正确的答案

coxph(formula = Surv(combi$survival, realdeath) ~ meanrr, data = combi)

  n= 311, number of events= 70 

             coef  exp(coef)   se(coef)      z Pr(>|z|)    
meanrr -0.0041399  0.9958687  0.0009055 -4.572 4.83e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

       exp(coef) exp(-coef) lower .95 upper .95
meanrr    0.9959      1.004    0.9941    0.9976

Concordance= 0.661  (se = 0.035 )
Rsquare= 0.068   (max possible= 0.92 )
Likelihood ratio test= 21.86  on 1 df,   p=2.938e-06
Wald test            = 20.9  on 1 df,   p=4.83e-06
Score (logrank) test = 21.24  on 1 df,   p=4.051e-06

其中一个单位的风险比增加为exp(coef),置信区间为下限/上限.95