【问题标题】:Using apply to loop over different datasets in a regression使用 apply 在回归中循环不同的数据集
【发布时间】:2014-09-25 18:04:09
【问题描述】:

当变量名称存储为字符 (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)

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

谢谢!

【问题讨论】:

  • lm Call输出中的公式需要改吗?

标签: r apply lm


【解决方案1】:

您示例中的substitute 用于构造公式。如果您想将lm 应用于多个data.frames,请使用:

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

【讨论】:

  • 这正是我所需要的!您还知道如何替换 for 循环中使用的数据吗?
  • 你能举个例子吗?
猜你喜欢
  • 2021-08-24
  • 2020-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-04
  • 2015-08-15
相关资源
最近更新 更多