循环遍历变量列表以添加到基本生存模型,然后将关键输出保存在 table 中

Loop through a list of variables to add to a base survival model then keep the key output in a table

两部分问题: 首先,我有一个数据框中的 n 个变量列表,我想依次将其代入生存模型(从而创建 n 个新模型),并且从每个变量的输出中,我只想保留摘要 table与该变量相关的行(HR、SE 等)(因此 n 行 table)。

#create list of variables from dataset
bloods <- colnames(data)[c(123,127, 129:132, 135:140, 143:144, 190:195)] 

然后循环创建一个新模型。以下不起作用,但不确定为什么...

for (i in 1:length(bloods)){
x <- coxph(Surv(time, event) ~ i + var1+var2+var3, data=data, na.action=na.omit) 
}

不确定如何 select 并将摘要的第一行 table (summary(x)[7]) 每次附加到 table?我想我必须在循环之前创建 table?

非常感谢任何帮助!

考虑 lapply 动态公式构建,这将生成汇总表列表:

bloods <- colnames(data)[c(123,127, 129:132, 135:140, 143:144, 190:195)] 

sumtables <- lapply(bloods, function(i) {
      # STRING INTERPOLATION WITH sprintf, THEN CONVERTED TO FORMULA OBJECT
      iformula <- as.formula(sprintf("Surv(time, event) ~ %s + var1+var2+var3", i))  

      # RUN MODEL REFERENCING DYNAMIC FORMULA
      x <- coxph(iformula, data=data, na.action=na.omit)

      # RETURN COEFF MATRIX RESULTS
      summary(x)[7][[1]] 
})