非二元分类变量R的多变量cox回归分析
我对包括非二元分类变量的多变量cox回归分析有疑问。 我的数据由几个变量组成,其中一些是二进制的(比如性别、70岁以上的年龄等等) 而其余的则不是(例如,ECOG) 我尝试了分析_多元函数和coxph函数,但似乎我只能得到非分类变量的总体风险比,但我想知道变量的总体风险比和变量子类别的个体风险比(如ECOG 0、ECOG 1、ECOG 2和整个ECOG的危险比) 我在这个过程中尝试的是这样的:非二元分类变量R的多变量cox回归分析,r,cox,R,Cox,我对包括非二元分类变量的多变量cox回归分析有疑问。 我的数据由几个变量组成,其中一些是二进制的(比如性别、70岁以上的年龄等等) 而其余的则不是(例如,ECOG) 我尝试了分析_多元函数和coxph函数,但似乎我只能得到非分类变量的总体风险比,但我想知道变量的总体风险比和变量子类别的个体风险比(如ECOG 0、ECOG 1、ECOG 2和整个ECOG的危险比) 我在这个过程中尝试的是这样的: Hazard Ratios: factor.id factor.name factor.va
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
(一)
结果是这样的:
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
结果是:
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呈线性关系,而在(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
我同意愚蠢的观点。测试ECOG整体没有什么意义,因为这个变量不是一个连续的变量。处理整体效应意味着你假设它充其量是一个有序变量,值之间的差异相等,这超出了理性的界限。没有一个头脑正常的肿瘤学家会同意这个假设。愚蠢二lf和Edward,谢谢你的评论!正如Edward指出的,我的原始变量没有像上面的例子那样包括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)
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