2013-05-29 37 views
0

我有公司财务信息组织的各公司的财务信息数据。我希望在保持公司不变的情况下,将其中一列的价值观与其他人的价值观相比较。有没有一种简单的方法可以用lm()表示法写出来?按数据组分组的回归系数R

我已经尝试使用:

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

其中pp是公司名称的载体,但好像我回归的所有数据一次(并没有按公司名称分开)这将返回系数。

+2

'lmList'调用看起来应该已经工作。请提供一个可重复的示例,说明它无法正常工作。 –

回答

2

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

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

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

一对夫妇的评论:

  • 尽管得到这样将匹配那些lmList()给出的回归系数,应该指出的是,与lm()我们估计只有在所有组的单个剩余方差,而lmList()会估计每个组的单独残差。
  • 就像我在我之前的评论中提到的那样,你给出的lmList()语法看起来应该是可行的。既然你说没有,那么这让我期望这个问题真的是别的东西(尽管很难说没有一个可重复的例子),所以我发布的解决方案似乎也可能会失败,原因不明。如果您需要更详细的指导,请提供更多信息;帮助我们帮助你。
+0

谢谢杰克!我不关心残差,所以lm()方法很好。 – user2303635