353 2

[实际应用] 用coxph函数构建cox模型,并用regplot函数绘制列线图后,如何计算每个患者的列线图得 [推广有奖]

  • 0关注
  • 0粉丝

学前班

80%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
103 点
帖子
2
精华
0
在线时间
3 小时
注册时间
2023-8-14
最后登录
2023-11-4

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我在做一个竞争风险模型,用cph构建模型时,发现构建的cox模型结果与多因素竞争风险分析结果不一致,于是我换用coxph构建模型,多了一步【df_c <- df %>% filter(.,failcode == 1)】,在此之后,cox模型结果和多因素模型结果一致。于是用regplot绘制了列线图,但是我不知如何算每个患者的列线图得分,想请大神帮帮我。以下是我的代码:
library(mstate)
set.seed(1000)

df=crprep("Survival_months","CVD",
          data=train,trans=c(1,2),
          cens=0,id="id",  
          keep=c("Age","Marital","Race","Year_of_diagnosis","Grade"))
df$Time=df$Tstop-df$Tstart

library("dplyr")
df_c <- df %>% filter(.,failcode == 1)
m.crr<- coxph(Surv(Time,status==1)~Grade+Year_of_diagnosis+Race+Marital+Age,
              data=df_c,
              weight=weight.cens,
              subset=failcode==1)
c1=summary(m.crr)
traincindex=data.frame(c1$concordance)
traincindex

library(regplot)
nom_c <- regplot(m.crr,
        failtime = c(36,60,96), prfail = T, droplines=T,points=T,
        plots=c("density","no plot"),
        title = "Nomogram")

nom_c

同时我还有一个问题,如果coxph可以用这个代码【df_c <- df %>% filter(.,failcode == 1)】,那cph也可以用吗,或者coxph用的原理是什么?



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:cox模型 gplot plot Cox xph R语言处理过程 求助R语言 R语言 R语言新手问题 R语言实战

沙发
oliyiyi 发表于 2023-8-23 09:37:25 |只看作者 |坛友微信交流群
1. 计算每个患者的列线图得分

可以通过预测每个患者在给定时间点的生存概率,然后转换为得分来实现。示例代码:

```r
# 预测每个患者在36,60,96月的生存概率
surv_prob <- survfit(Surv(failtime, failcode) ~ 1, data = df_c)
p1 <- predict(surv_prob, newdata=data.frame(failtime=36), type='quantile')
p2 <- predict(surv_prob, newdata=data.frame(failtime=60), type='quantile')
p3 <- predict(surv_prob, newdata=data.frame(failtime=96), type='quantile')

# 将生存概率转换为得分(0-100)
df_c$score1 <- 100 * (1 - p1)  
df_c$score2 <- 100 * (1 - p2)
df_c$score3 <- 100 * (1 - p3)
```

然后就可以用这些得分绘列线图了。

2. cph模型

coxph建模使用的是符合PH假设的Cox回归模型,可以进行样本筛选;而cph建模是多状态模型,默认会考虑所有观测和转移,不适合直接筛选样本后建模。

更适当的做法是用msfit建立多状态模型,然后用crs$transitions指定不同转移类型进行风险预测。

使用道具

oliyiyi 发表于 2023-8-23 09:37
1. 计算每个患者的列线图得分

可以通过预测每个患者在给定时间点的生存概率,然后转换为得分来实现。示例 ...
好的,非常感谢!!!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 16:31