美国统计教授的成名之作--Harrell's C指数,发在JAMA上!

学术   科学   2024-05-13 10:00   浙江  
这篇文章介绍一个生存分析中经常遇到的一个参数,名为Harrell' C指数(concordence index)[1],可用于模型的评估。

小编还翻了一下这个指数的原始论文,发表于1982年,老古董级别的!题目和摘要如下:


来源:文献[1]

感兴趣的小伙伴可以深入阅读原文进行学习和研究,请查看参考文献部分。

关于C指数是如何计算的,下面使用R代码解释说明。

首先载入R包: 

library(survival)
下一步,查看数据集lung: 

summary(lung)
str(lung)


下一步,建立一个cox回归模型,并且查看模型概况,代码如下:

cox_model <- coxph(Surv(time, status) ~ age + sex, data = lung)
summary(cox_model)

其中的Concordance = 0.603就是C指数,并且上述的结果还展示了它的标准误(se = 0.025)。

还有一个独立的函数,名为concordance(),它可以帮助我们更好的理解C指数,比如它到底是如何计算出来的,代码如下:

concordance(cox_model)

从上述的结果可知,C指数的值是一样的。

但是结果的底部多出了一行数值,而这些数值可以用于“手动”计算出C指数。

它的公式如下:


其中的C对应结果中的concordant; d对应discordant; tx对应tied.x。

可以根据上述结果的数值使用R代码计算c指数: 

(11910+311/2)/(11910+7793+311)


结果是一样的!

此外,这个函数还可以计算多个模型的C指数,将会非常实用,代码如下:

mydata <- na.omit(lung)
model1 <- coxph(Surv(time, status) ~ age + sex, data = mydata)
model2 <- coxph(Surv(time, status) ~ age + sex + ph.ecog, data = mydata)
model3 <- coxph(Surv(time, status) ~ age + sex + ph.ecog + meal.cal, data = mydata)
concordance(model1, model2, model3)

好啦,今天的内容就到这里。如果有帮助,记得分享给需要的人


参考文献

1. Evaluating the Yield of Medical Tests


公众号的线上课程
1. 《R语言和统计新手课程》
2. 《回归:从入门到进阶》
3. 《线性混合模型和纵向数据分析》
【通过公众号菜单栏--线上课程】

统计咨询
《服务介绍和经典合作案例》

公众号核心成员的成果发表
《SCI医学1区影响因子9分论文》

公众号核心成员担任SCI杂志Associate Editor!
《JAD杂志Associate editor》
《Frontiers in Neuroscience, Frontiers in Neurology and Frontiers in Psychiatry杂志的神经退行性病变板块》


▌本文由R语言和统计首发
▌课程相关咨询可添加R师妹微信: kefu_rstats
▌编辑:June
▌邮箱:contact@rstats.cn
▌网站:www.rstats.cn
我们致力于让R语言和统计变得简单!


R语言和统计
我们定期更新与R有关的内容,比如R编程基础,作图,实用R包的解读,统计学基础知识,前沿的统计方法,机器学习等等。
 最新文章