happySB

  • 13 1月
  • 注册于 2023年8月13日
  • 我看网上大多数介绍的是,Lasso回归的结局变量如果是分类变量的话,一般是二分类0或1,我想知道如果结局分类变量是0,1, 2的话,可以用Lasso回归吗。我想利用Lasso回归来初步筛选,避免过度拟合,然后进行多因素的竞争风险分析来确定相关危险因素,这个方法是否可行?

    • KANG1943 好的谢谢,我第一次在这里提问题。train是我自己的数据集。我感觉用coxph构建函数,然后用regpolt画图的话,好像不能直接算出每个患者的总得分。所以我就根据nomogram的每一项得分然后在excel里面直接相加得到。虽然这样得到的总得分不太精确,但是对于风险分层的话影响应该不大。

      • 用coxph函数构建cox模型绘制列线图后,如何计算每个患者的列线图得分

        我的代码如下
        ##列线图=========================================================================

        library(mstate)
        set.seed(1000)
        df=crprep("Survival_months","CVD", #对数据train进行加权
                  data=train,trans=c(1,2), #trans = (终点事件, 竞争风险事件)
                  cens=0,id="id",  #cens删失值/截尾,设置id
                  keep=c("Age","Marital","Race","Year_of_diagnosis","PSA.10","Gleason_score")) #数据集中需要保留的协变量(纳入的自变量)
        df$Time=df$Tstop-df$Tstart
        
        library("dplyr")
        df_c <- df %>% filter(.,failcode == 1)
        m.crr<- coxph(Surv(Time,status==1)~Gleason_score+PSA.10+Year_of_diagnosis+Race+Marital+Age,
                      data=df_c,
                      weight=weight.cens,
                      subset=failcode==1)
        
        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")
        

        我想要做风险分层,但是我不知道这个方法如何计算患者各自总分