0

我对包括非二元分类变量的多变量 cox 回归分析有疑问。我的数据由几个变量组成,其中一些是二元的(如性别、年龄超过 70 岁等),而其余的则不是(例如,ECOG)

我尝试了 analyse_multivariate 函数和 coxph 函数,但似乎我只能获得关于非分类变量的总体风险比,但我想知道变量的总体风险比和变量中子类别的个体风险比(如 ECOG 0、ECOG 1、ECOG 2 和整体 ECOG 的风险比)

我在这个过程中尝试的是这样的:

(1)

ECOG = as.factor(df$ECOG)
analyse_multivariate(data=df, 
                     time_status = vars(df$OS, df$survival_status==1),
                     covariates = vars(df$age70, df$sex, ECOG),
                     reference_level_dict = c(ECOG==0))

结果是这样的:

Hazard Ratios:
factor.id      factor.name factor.value    HR Lower_CI Upper_CI Inv_HR Inv_Lower_CI Inv_Upper_CI
df$age70         df$age70 <continuous>  1.07     0.82     1.41   0.93         0.71         1.22
ECOG:4 ECOG            4  1.13     0.16     8.19   0.89         0.12         6.43
df$sex           df$sex <continuous>    1.87     0.96     3.66   0.53         0.27         1.04
ECOG:1 ECOG            1  2.14     1.63     2.81   0.47         0.36         0.61
ECOG:3 ECOG            3 12.12     7.83    18.76   0.08         0.05         0.13
ECOG:2 ECOG            2 13.72     4.92    38.26   0.07         0.03          0.2

(2)

analyse_multivariate(data=df, 
                     time_status = vars(df$OS, df$survival_status==1),
                     covariates = vars(df$age70, df$sex, df$ECOG),
                     reference_level_dict = c(ECOG==0))

结果是:


Hazard Ratios:
factor.id   factor.name factor.value   HR Lower_CI Upper_CI Inv_HR Inv_Lower_CI Inv_Upper_CI
df$age70   df$age70 <continuous> 0.89     0.68     1.16   1.13         0.86         1.47
df$sex     df$sex <continuous> 1.87     0.96     3.65   0.53         0.27         1.04
df$ECOG    df$ECOG <continuous>  1.9     1.69     2.15   0.53         0.47         0.59

如果我使用 (2) 中的 ECOG 总 p 值并在 p 值 <0.05 时将 ECOG 视为显着变量,并结合 (1) 中的个体 ECOG 状态的个体风险比,是否有意义?

喜欢生成如下表:

                  p-value   0.01
ECOG 1   Reference  
ECOG 2   13.72 (4.92-38.26) 
ECOG 3   12.12 (7.83-18.76) 
ECOG 4   1.13 (0.16-8.19)   

我相信有更好的解决方案,但找不到。

任何意见将不胜感激!先感谢您。

4

1 回答 1

0

简短的回答是否定的。在 (2) 中,它是一个连续响应,这意味着您期望生存的对数优势比与 ECOG 具有线性关系,而在 (1) 中,您期望每个级别(1 到 4)对生存有不同的影响。要测试变量 ECOG 集合,您可以进行方差分析:

library(survivalAnalysis)
data = survival::lung
data$ECOG = factor(data$ph.ecog)
data$sex = factor(data$sex)

fit1 = data %>%
  analyse_multivariate(vars(time, status),
                       covariates = vars(age, sex, ECOG, wt.loss))

anova(fit1$coxph)
Analysis of Deviance Table
 Cox model: response is Surv(time, status)
Terms added sequentially (first to last)

         loglik   Chisq Df Pr(>|Chi|)   
NULL    -675.02                         
age     -672.36  5.3325  1   0.020931 * 
sex     -667.82  9.0851  1   0.002577 **
ECOG    -660.26 15.1127  3   0.001723 **
wt.loss -659.31  1.9036  1   0.167680   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
于 2020-03-14T11:37:41.643 回答