使用apply在循环中循环遍历不同的数据集

时间:2014-09-25 09:54:06

标签: r apply lm

当变量名称存储为字符(http://www.ats.ucla.edu/stat/r/pages/looping_strings.htm)时,我发现这种方式在lm()中循环变量:

models <- lapply(varlist, function(x) {
    lm(substitute(read ~ i, list(i = as.name(x))), data = hsb2)
})

我的第一个问题是:是否有更高效/更快的方式?

如果我想循环遍历不同的数据而不是循环变量怎么办?

示例:

reg1 <- lm(a~b, data=dataset1)
reg2 <- lm(a~b, data=dataset2)

我可以应用与上面显示的代码类似的内容吗?使用数据的替代函数不起作用。

谢谢!

1 个答案:

答案 0 :(得分:1)

示例中的substitute用于构造公式。如果您想将lm应用于data.frame次使用:

lapply(list(dataset1, dataset2), lm, formula = a ~ b)