循环回归列 r
loop regression columns r
我有一个这样的数据框
ID matching_var status code1 code2
1 1 0 1 0
2 1 1 1 0
3 2 0 0 1
我还有其他几个列,例如 code1 和 code2,直到 code25,我想进行这些回归:
fit1<-clogit(status~code1+strata(matching_variable),data=df)
fit2<-clogit(status~code2+strata(matching_variable),data=df)
…
fit25<-clogit(status~code25+strata(matching_variable),data=df
我的变量 code 1 到 code25 在我的 df 的第 4 到 29 列中
我想找到一种无需输入每个回归模型即可自动执行此操作的方法,我希望将所有回归结果集中在一个 table
我试过这个:
regression <- function(x){code<- x[,4:29]
f <- as.formula(
paste("status ~", code, "+ strata(matching_var)"))
clogit(f, data = x)
}
result_reg<-lapply(df,regression)
lapply(result_reg, summary)
但它不起作用,其他几个帖子处理相同的主题,但我还没有设法找到解决我的问题的方法...
在此先感谢您的帮助
试试这个。我使用了 mtcars
数据集,因为你没有 post 你的数据。
此外,当您使用 non-common 函数时显式调用 library
,例如 clogit
df <- mtcars
library(survival)
regression <- function(column){
f <- as.formula(
paste("vs ~", column, "+ strata(carb)"))
survival::clogit(f, data = df)
}
result_reg<-lapply(colnames(df)[9:11],regression)
lapply(result_reg, summary)
我有一个这样的数据框
ID matching_var status code1 code2
1 1 0 1 0
2 1 1 1 0
3 2 0 0 1
我还有其他几个列,例如 code1 和 code2,直到 code25,我想进行这些回归:
fit1<-clogit(status~code1+strata(matching_variable),data=df)
fit2<-clogit(status~code2+strata(matching_variable),data=df)
…
fit25<-clogit(status~code25+strata(matching_variable),data=df
我的变量 code 1 到 code25 在我的 df 的第 4 到 29 列中
我想找到一种无需输入每个回归模型即可自动执行此操作的方法,我希望将所有回归结果集中在一个 table
我试过这个:
regression <- function(x){code<- x[,4:29]
f <- as.formula(
paste("status ~", code, "+ strata(matching_var)"))
clogit(f, data = x)
}
result_reg<-lapply(df,regression)
lapply(result_reg, summary)
但它不起作用,其他几个帖子处理相同的主题,但我还没有设法找到解决我的问题的方法...
在此先感谢您的帮助
试试这个。我使用了 mtcars
数据集,因为你没有 post 你的数据。
此外,当您使用 non-common 函数时显式调用 library
,例如 clogit
df <- mtcars
library(survival)
regression <- function(column){
f <- as.formula(
paste("vs ~", column, "+ strata(carb)"))
survival::clogit(f, data = df)
}
result_reg<-lapply(colnames(df)[9:11],regression)
lapply(result_reg, summary)