【问题标题】:Regression loop: several dep variables & several indep variables, one of these indep variables takes different values according to the dep variable回归循环:几个dep变量&几个indep变量,其中一个indep变量根据dep变量取不同的值
【发布时间】:2017-11-05 10:08:19
【问题描述】:

我有几个因变量(我们称它们为 dep1、dep2 和 dep3),我想对它们的几个自变量进行回归。我有自变量 a、b 和 c,我总是想将它们包含在回归中。然而,自变量 d1、d2、d3 仅应在数量与因变量的数量匹配时使用。这是:

lm(dep1 ~ a + b + c + d1)
lm(dep2 ~ a + b + c + d2)
lm(dep3 ~ a + b + c + d3)

更准确地说,我的因变量和自变量都是每月时间序列(xts 对象)。我合并了因变量以获得矩阵“dep”。 a,b,c,d1,d2 和 d3 存储在矩阵“indep”中。

是否可以创建一个自动执行此操作的循环?

【问题讨论】:

  • 请提供一个可重现的小例子。你有data.frame 还是这些都是矢量对象
  • 您可以将d1-d3 放在一个列表中,通过lm(...,d[[i]]) 迭代i in 1:3,并将结果保存在另一个名为dep 的列表中。
  • 感谢您的回答,但您能更具体一点吗?我是 r 新手,不知道该怎么做...

标签: r loops regression


【解决方案1】:

我们可以使用paste

v1 <- paste0("dep", 1:3)
v2 <- paste0("d", 1:3)
v3 <- paste(v1, paste(paste(letters[1:3], collapse=" + "), v2, sep=" + "), sep="~")
lapply(v3, function(x) lm(x))

【讨论】:

  • 谢谢!但是在这个例子中,我在哪里指定了自变量以及 x 是什么?对不起,我对 R 很陌生...
  • 我尝试实现它,但收到以下错误消息:“未找到变量 dep1”...
  • @Lila 请提供一个可重现的例子。这是基于您的描述
猜你喜欢
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 2012-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多