美文网首页
多因素cox回归分析reference的问题

多因素cox回归分析reference的问题

作者: xiaosine | 来源:发表于2023-03-28 14:31 被阅读0次

    别人的例子

    image.png image.png

    自己的例子

    只是转换变量为因子

    library(dplyr)
    library(forcats)
    library(survival)
    
    N <- 20
    df <- data.frame(
      time=rexp(N),
      event=as.integer(rbinom(N, 1, .5)),
      treatment_=c(rep("control", N/2), rep("active", N/2)))
    
    str(df)
    df$treatment_=factor(df$treatment_,levels = c("active","control"))
    
    #In the model summary below, exp(coef) for "treatment_control" is the hazard ratio of control:active , where active is the "reference" since it is alphabetically before "control"
    cox1 <- coxph(Surv(time, event) ~ treatment_, data=df)
    print(cox1)
    # Call:
    #   coxph(formula = Surv(time, event) ~ treatment_, data = df)
    # 
    # coef exp(coef) se(coef)     z     p
    # treatment_control 0.3021    1.3527   0.6885 0.439 0.661
    # 
    # Likelihood ratio test=0.19  on 1 df, p=0.6593
    # n= 20, number of events= 9
    
    
    ## reverse
    df$treatment_=factor(df$treatment_,levels = c("control","active"))
    
    #df$treatment_  <- df$treatment_ %>% as.factor() %>% forcats::fct_rev()
    cox2 <- coxph(Surv(time, event) ~ treatment_, data=df)
    print(cox2)
    
    
    # Call:
    #   coxph(formula = Surv(time, event) ~ treatment_, data = df)
    # 
    # coef exp(coef) se(coef)      z     p
    # treatment_active -0.3021    0.7393   0.6885 -0.439 0.661
    # 
    # Likelihood ratio test=0.19  on 1 df, p=0.6593
    # n= 20, number of events= 9 
    
    HR=exp(coef)
    

    设置因子为0和1

    ## set 0,1
    df$treatment_class=ifelse(df$treatment_ =="control",1,2)
    ## df$treatment_class=factor(df$treatment_class,levels = c(1,2)) ## not run
    cox3 <- coxph(Surv(time, event) ~ treatment_class, data=df)
    print(cox3)
    # 
    # Call:
    #   coxph(formula = Surv(time, event) ~ treatment_class, data = df)
    # 
    # coef exp(coef) se(coef)      z     p
    # treatment_class2 -0.3021    0.7393   0.6885 -0.439 0.661
    # 
    # Likelihood ratio test=0.19  on 1 df, p=0.6593
    # n= 20, number of events= 9
    
    

    总的对比来说,如果变量改成1和2,reference一般是1的那个,如果设置了factor,那一般是左边那个。

    相关文章

      网友评论

          本文标题:多因素cox回归分析reference的问题

          本文链接:https://www.haomeiwen.com/subject/qpztddtx.html