【问题标题】:plm - industry + year fixed effects with firm-year dataplm - 行业 + 年固定效应与公司年数据
【发布时间】:2020-08-10 18:40:47
【问题描述】:

我的问题是,当我在同一行业有多家公司时,如何在 plm 中包含行业和年份的固定效应? 我的数据重复如下所示:

Year    Industry    CompanyID   CEOID   CEO.background  MBA.CEO CEO.Tenure  Female.CEO  CEO.age Capex       Log.TA      Leverage
2005    6           1075        10739   0               0       6.92        0           55      0.08623238  9.199961396 0.330732917
2006    6           1075        10739   0               0       7.92        0           56      0.097455145 9.334559982 0.26575725
2007    6           1075        10739   0               0       8.92        0           56      0.113033772 9.346263914 0.285439531
2008    6           1075        10739   0               0       9.92        0           57      0.108640177 9.327564318 0.322985772
2009    6           1075        5835    0               0       0.67        0           54      0.08526524  9.360491034 0.333880116
2010    6           1075        5835    0               0       1.67        0           55      0.081452292 9.376545673 0.32197511
2005    6           1743        8379    0               0       17.43       0           65      0.236487293 6.693007633 0.021915227
2006    6           1743        26012   0               1       0.91        0           59      0.319264835 6.820455133 0.023157959
2007    6           1743        26012   0               1       1.91        0           58      0.207384938 6.844512984 0.020087012
2008    6           1743        26012   0               1       2.92        0           59      0.130632264 6.890964093 0.017103795
2009    6           1743        26012   0               1       3.92        0           60      0.112029325 6.879662342 0.017283796
2010    6           1743        30801   0               0       1           1           47      0.02804693  6.767971236 0.044755539
2005    7           1004        9249    0               0       9.65        0           53      0.076370794 6.596094672 0.31534354
2006    7           1004        9249    0               0       10.65       0           54      0.114891589 6.886346743 0.327808308
2007    7           1004        9249    0               0       11.65       0           55      0.097727719 6.973199328 0.307086799
2008    7           1004        9249    0               0       12.65       0           56      0.112119583 7.216716829 0.389800369
2009    7           1004        9249    0               0       13.65       0           57      0.086281135 7.228033526 0.331455792
2010    7           1004        9249    0               0       14.65       0           58      0.298922358 7.313914813 0.291147083

CEO.backgroundMBA.CEOFemale.CEO 是每个 CEO 的时不变虚拟变量,而对于公司来说是行业时不变的虚拟变量,而其余的是随时间变化的公司/CEO 属性。

我想为行业/年份回归运行以下固定效果代码

plm(Capex ~ CEO.background + MBA.CEO + CEO.Tenure + Female.CEO + CEO.age + Log.TA + Leverage, data=repexcapex, index = (c("Industry", "Year")), model = "within", effect = "twoways")

但是,如果我在同一行业中有多家公司,如上述数据(公司 ID 1075/1743 都在行业 6 中),则代码会给出关于重复的错误。

Error in pdim.default(index[[1]], index[[2]]) : 
  duplicate couples (id-time)
In addition: Warning messages:
1: In pdata.frame(data, index) :
  duplicate couples (id-time) in resulting pdata.frame
[...]

如果我删除前 5 行并在每个行业只使用 1 家公司运行它,代码就可以工作。

我应该如何制定回归以同时包含行业和年份的固定效应?使用行业假人运行代码,如下所示,相当于行业固定效应:

plm(Capex ~ CEO.background + MBA.CEO + CEO.Tenure + Female.CEO + CEO.age + Log.TA + Leverage + factor(Industries), data=repexcapex, index = (c("Year")), model = "within", effect = "individual")

这是格式化的数据:

repexcapex <- read.table(text="
Year,Industry,CompanyID,CEOID,CEO.background,MBA.CEO,CEO.Tenure,Female.CEO,CEO.age,Capex,Log.TA,Leverage
2005,6,1075,10739,0,0,6.92,0,55,0.08623238,9.199961396,0.330732917
2006,6,1075,10739,0,0,7.92,0,56,0.097455145,9.334559982,0.26575725
2007,6,1075,10739,0,0,8.92,0,56,0.113033772,9.346263914,0.285439531
2008,6,1075,10739,0,0,9.92,0,57,0.108640177,9.327564318,0.322985772
2009,6,1075,5835,0,0,0.67,0,54,0.08526524,9.360491034,0.333880116
2010,6,1075,5835,0,0,1.67,0,55,0.081452292,9.376545673,0.32197511
2005,6,1743,8379,0,0,17.43,0,65,0.236487293,6.693007633,0.021915227
2006,6,1743,26012,0,1,0.91,0,59,0.319264835,6.820455133,0.023157959
2007,6,1743,26012,0,1,1.91,0,58,0.207384938,6.844512984,0.020087012
2008,6,1743,26012,0,1,2.92,0,59,0.130632264,6.890964093,0.017103795
2009,6,1743,26012,0,1,3.92,0,60,0.112029325,6.879662342,0.017283796
2010,6,1743,30801,0,0,1,1,47,0.02804693,6.767971236,0.044755539
2005,7,1004,9249,0,0,9.65,0,53,0.076370794,6.596094672,0.31534354
2006,7,1004,9249,0,0,10.65,0,54,0.114891589,6.886346743,0.327808308
2007,7,1004,9249,0,0,11.65,0,55,0.097727719,6.973199328,0.307086799
2008,7,1004,9249,0,0,12.65,0,56,0.112119583,7.216716829,0.389800369
2009,7,1004,9249,0,0,13.65,0,57,0.086281135,7.228033526,0.331455792
2010,7,1004,9249,0,0,14.65,0,58,0.298922358,7.313914813,0.291147083",
sep=",",header=TRUE)

【问题讨论】:

  • 嗨,欢迎来到堆栈溢出。考虑查找如何制作可重现的示例,尤其是共享足以重现问题的一小部分数据。
  • 嗨,马克,谢谢您的评论!我现在已经包括了这个问题的代表。如果此数据格式不起作用,请告诉我。
  • plm 包似乎发生了一些变化。所以如果你想使用它,我会推荐这个doc。和thiis,如果你想在没有 plm 包的情况下估计你的模型。我仍然建议学习 plm 包,但我必须承认我自己对它有点生疏,
  • 统计提示:由于 CEO 年龄和 CEO 任期在内部模型的相同回归中,您可能需要查看 ?plm::detect.lindep 中的示例 2,其中假设 CEO 留在公司一直以来。
  • @DJJ DJJ:谢谢你的文件,我会仔细阅读它们,看看我是否能理解如何根据它们更好地做到这一点。

标签: r panel-data plm economics


【解决方案1】:

由于您的因变量 Capex 似乎是特定于公司的度量,因此观察单位(= plm 称为个人维度的内容)可能是公司(变量 CompanyID),这将在index 参数。

因此,一个基本的 2-way 模型可以通过以下方式估计:

plm(Capex ~ CEO.background + MBA.CEO + CEO.Tenure + Female.CEO + CEO.age + Log.TA + Leverage, data=repexcapex, index = (c("CompanyID", "Year")), model = "within", effect = "twoways")

要添加行业固定效应,请在公式中包含+factor(Industry)。该变量可能会退出估计,因为它与其他固定效应相关(适用于您提供的小样本数据)。

【讨论】:

  • 感谢您的回复!你是对的,我所有的因变量都在公司层面,我试图确定 CEO 层面自变量的影响。如果我对您提供给我的公式使用双向效果,我知道我同时包含了年份和公司 FE。但是,既然我只想拥有行业,而不是公司 FE,我应该使用 effect = "time" 代替吗?这样做的原因是,我正在复制早期的研究。最后,我将如何在公司层面对标准错误进行聚类?谢谢你的帮助,你真的在​​帮我。
猜你喜欢
  • 2013-04-04
  • 2016-03-13
  • 1970-01-01
  • 2017-09-16
  • 2015-05-01
  • 1970-01-01
  • 2020-06-30
  • 2018-04-25
  • 2023-03-04
相关资源
最近更新 更多