这就是为什么变量名应该尽可能短的原因。
library(survMisc)
### reproducible data
set.seed(1)
### 12 variables (no factors for simplicity)
df1 <- genSurvDf(f=0, c=10)$df
c2 <- colnames(df1)[1:12]
### loop through each variable
for (i in 1:length(c2)){
print(c2[i])
print(coxph(Surv(t1, e) ~ get(c2[i]), data=df1))
}
这改编自?formula
:
f1 <- as.formula(paste("Surv(t1, e) ~ ",
paste(c2, collapse= "+")))
coxph(f1, data=df1)
您应该能够修改上述内容以满足您的需要,例如
f1 <- as.formula(paste("Surv(t1, e) ~ ",
paste(c2[8:12], collapse= "+")))
如果您想进行所有组合(直到某个数量),这对于小型数据集很实用,这可能更有效:
c1 <- coxph(Surv(t1, e) ~ ., data=df1)
### check all combinations of up to 3
### sort by information criteria
multi(c1, maxCoef=3, how="all", confSetSize=Inf)