数据帧R中按组的回归系数

时间:2013-05-29 20:21:42

标签: r regression

我有公司股票代码组织的各种公司财务信息的数据。我希望在保持公司不变的同时,将其中一个列的价值与其他列相对应。有没有一种简单的方法可以用lm()表示法写出来?

我尝试过使用:

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

其中pp是公司名称的向量,但这会返回系数,就像我一次退回所有数据一样(并没有按公司名称分开)。

1 个答案:

答案 0 :(得分:2)

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

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

确保pp因素,而不是数字。还要注意必须抑制整体拦截才能使其工作;在新的表述中,我们对每个组都有不同的“拦截”。

一对评论:

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