如何在R中进行多个模型进行生存分析?

问题描述 投票:0回答:1

我想使用生存分析测试大约10种不同的模型,这些模型具有不同的功能组合。我已经尝试了以下方法,但是不起作用

model1 = A1+A2+A3
model2 = A1+A2+A3+A4+A5
model3 = A1+A3+A4+A6

models = c(model1,model2,model3)
model_list <- array(c(models))

for (i in model_list){
  print(i)
  mod <- survreg(Surv(data$Days),data$Status)~ i, dist="weibull", data=data)
  print(AIC(mod))
}

我意识到它给出的是数字值,而不是参数列表本身。我该如何纠正?

r survival-analysis
1个回答
0
投票

考虑使用as.formula循环构建公式并遍历模型的字符向量。下面假设A变量是data数据框中的列:

model1 <- "A1 + A2 + A3"
model2 <- "A1 + A2 + A3 + A4 + A5"
model3 <- "A1 + A3 + A4 + A6"

models <- c(model1, model2, model3)

for(i in models) {
  print(i)
  my_formula <- as.formula(paste("Surv(Days, Status) ~", i))

  mod <- survreg(my_formula, dist="weibull", data=data)
  print(AIC(mod))
}
© www.soinside.com 2019 - 2024. All rights reserved.