如何从 coxph 获得累积风险比的输出?
How do I get output of the cummulative Hazard ratio from coxph?
如何从 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)
但只计算累积风险比就可以了
您可以使用 basehaz()
或 survfit()
提取累积风险。
在你的案例中为你的模型键入 str(basehaz(coxfit))
或 str(survfit(coxfit))
将揭示数据对象的结构,并提供 basehaz(coxfit)$hazard
或 survfit(coxfit)$cumhaz
产生一个vector/dataframe-friendly 你想要的输出。
?basehaz
的帮助说明会告诉您 survfit()
是首选方法,实际上后者提供了全面的输出,包括 CI。
summary(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),置信区间为 lower/upper .95
如何从 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)
但只计算累积风险比就可以了
您可以使用 basehaz()
或 survfit()
提取累积风险。
在你的案例中为你的模型键入 str(basehaz(coxfit))
或 str(survfit(coxfit))
将揭示数据对象的结构,并提供 basehaz(coxfit)$hazard
或 survfit(coxfit)$cumhaz
产生一个vector/dataframe-friendly 你想要的输出。
?basehaz
的帮助说明会告诉您 survfit()
是首选方法,实际上后者提供了全面的输出,包括 CI。
summary(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),置信区间为 lower/upper .95