当变量名称存储为字符(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)
我可以应用与上面显示的代码类似的内容吗?使用数据的替代函数不起作用。
谢谢!
答案 0 :(得分:1)
示例中的substitute
用于构造公式。如果您想将lm
应用于data.frame
次使用:
lapply(list(dataset1, dataset2), lm, formula = a ~ b)