0

我有按公司股票代码组织的各种公司财务信息的数据。我想将其中一列的值与其他列的值进行回归,同时保持公司不变。lm()有没有一种简单的方法可以用符号写出来?

我试过使用:

reg <- lmList(lead2.dDA ~ paudit1 + abs.d.GINDEX + logcapx + logmkvalt + 
              logmkvalt2|pp, data=reg.df)

wherepp是公司名称的向量,但这会返回系数,就好像我一次对所有数据进行了回归(并且没有按公司名称分开)。

4

1 回答 1

2

用于按组估计单独回归系数的一种方便且显然鲜为人知的语法lm()涉及使用嵌套运算符/. 在这种情况下,它看起来像:

reg <- lm(lead2.dDA ~ 0 + pp/(paudit1 + abs.d.GINDEX + logcapx + 
          logmkvalt + logmkvalt2), data=reg.df)

确保这pp是一个因素,而不是一个数字。另请注意,必须抑制整体拦截才能使其起作用;在新的公式中,我们对每个组都有不同的“拦截”。

一些评论:

  • 尽管以这种方式获得的回归系数将与 给出的回归系数相匹配lmList(),但应该注意的是,lm()我们仅估计所有组的单个残差方差,而lmList()将估计每个组的单独残差方差。
  • 就像我在之前的评论中提到的那样lmList(),您提供的语法看起来应该有效。既然你说它没有,这让我期待真正的问题是别的东西(尽管如果没有可重现的例子很难说什么),所以我发布的解决方案似乎也可能对你失败,出于同样的未知原因。如果您需要更详细的指导,请提供更多信息;帮助我们帮助你。
于 2013-05-29T21:35:33.097 回答