我有三个数据框,dfLON、 dfMOS 和 dfATA。它们都具有相同的变量: y 是一个连续变量,a、b 和 c 是二元分类变量,并且还有一些 NA
。
我想为每个数据集构建单独的线性回归模型。
通过我的当前代码,我已经成功创建了一个数据框列表,并将其传递给 lm()。但是有没有更简洁的方法来查看结果,比如 fitdfLON <- DfList[[1]]
?我在这个例子中提供了三个数据框,但实际上我有约 25 个,所以我需要输入 25 次!
任何帮助将不胜感激。
起始点(dfs):
dfLON <- data.frame(y=c(1.23,2.32,3.21,2.43),a=c(1,NA,1,2),b=c(1,1,2,2),c=c(2,1,2,1))
dfMOS <- data.frame(y=c(4.56,6.54,4.43,5.78),a=c(2,1,2,1),b=c(2,1,1,2),c=c(1,2,1,2))
dfATA <- data.frame(y=c(1.22,6.54,3.23,4.23),a=c(2,2,2,1),b=c(1,2,1,2),c=c(1,NA,1,2))
当前代码:
Mylm <- function(df){
fit <- lm(y ~ a + b + c, data=df)
return(fit)
}
DfList <- lapply(list(dfLON, dfMOS, dfATA), Mylm)
fitdfLON <- DfList[[1]]
fitdfMOS <- DfList[[2]]
fitdfATA <- DfList[[3]]
DfList <- setNames(lapply(list(dfLON, dfMOS, dfATA), Mylm), c("fitdfLON", "fitdfMOS", fitdfATA"));
然后引用项目:DfList$fitdfLON; DfList$fitdfMOS; DfList$fitdfATA
- Parfait