lm在列表的元素上

Tom*_*mmy 0 r list lm

假设我有三个数据框的列表

set.seed(55)
df1 <- data.frame(a=rnorm(6), b=rnorm(6), c=rnorm(6))
df2 <- data.frame(a=rnorm(6), b=rnorm(6), c=rnorm(6))
df3 <- data.frame(a=rnorm(6), b=rnorm(6), c=rnorm(6))
l <- list(df1, df2, df3)
Run Code Online (Sandbox Code Playgroud)

我现在想用每个数据帧的a和c做一个线性模型.我尝试了以下内容

for(i in l) {
  x <- (lm(l[[i]]$a~l[[i]]$c))
}
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误

Error in l[[i]] : invalid subscript type 'list'
Run Code Online (Sandbox Code Playgroud)

我想有一个列表,每个元素都是一个l和一个c.任何帮助,将不胜感激.非常感谢你!

A5C*_*2T1 5

你可以用一个简单的方法做到这lapply一点:

lapply(l, lm, formula = a ~ c)
Run Code Online (Sandbox Code Playgroud)