如何从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)
但只是计算累积危险比很好
答案 0 :(得分:1)
您可以使用basehaz()
或survfit()
提取累积危险。
在您的案例中为您的模型键入str(basehaz(coxfit))
或str(survfit(coxfit))
将揭示数据对象的结构,并提供basehaz(coxfit)$hazard
或survfit(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