1

我正在尝试使用 plm 包在 R 中使用固定效果来估计模型。我的数据如下所示,它是公司、城市、年份、季度级别。我按年按公司和城市级别观察销售和收入中的每一个。我的回归是收入~销售额。这是按收入计算的销售额,但希望控制公司和城市特定的不可观察数据。我的实际数据集中有 1000 多家公司。

fid = c(1,1,1,1,
    2,2,2,2,
    3,3,3,3,3,3,3,3,
    4,4,4,4,5,5,5,5,
    5,5,5,5)

cityid = c(101,101,101,101,
       102,102,102,102,102,102,102,102,103,103,103,103,
       103,103,103,103,
       104,104,104,104,
       104,104,104,104)

year = c(2000, 2000, 2000, 2000,2000,2000, 2000,2000,2001,2001,2001,2001,2002,2002,2002,2002,
     2001,2001,2001,2001,2001,2001,2001,2001,2002,2002,2002,2002)

qtr = c(1,2,3,4,1,2,3,4,1,2,3,
    4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4)

df = data.frame(fid, cityid,year,qtr,sales = sample(1:4,7, replace=T),income=30:57)

我看到 plm 函数采用由单个时间指定的面板。也就是说,每个人都在不同的时间间隔内被观察到。现在我如何使用 plm 包运行:1.)公司固定效应 2.)公司和城市固定效应 3.)公司、城市、季度固定效应。

你能分辨出来吗?我对时间部分有点困惑,想知道我是否也可以使用公司和城市固定效果?在运行公司和城市固定效应时,我的小组将每个公司城市在本季度重复 4 次,而每个城市可能有多个公司。

对于 3.) 我可以使用 plm 命令组合公司、城市,但在公式中明确控制季度(如因子(季度))?

只是想更清楚地了解扩展 plm 以估计固定效果,而不仅仅是使用时间维度。我已经看过小插图了,但并不完全清楚。所以任何信息都会很棒。

4

2 回答 2

2

我想你在这里有点困惑。数据集中的分析单位是年度季度(我们称之为 q_year,例如编码为 2000_1、2000_2 等)。所以你会想要生成这样一个变量并用它来索引时间维度。

然后您可以指定如下:

model <- plm(income ~ sales + as.factor(q_year), data= df, index=c("fid", "q_year"), 
      model="within")
summary(model)

该模型为您提供时间固定效应(年度季度)以及企业固定效应。请注意,在您的示例数据中,“城市”不会随时间变化。所以它会被企业固定效应所消耗(城市位置是固定的企业特征!)。

(注意:您是否有一些公司多年的数据?您的示例数据没有。您可能希望将示例数据压缩为四波设计,并将四分体作为时间维度,因为这种数据结构有效保持每个公司的年份不变。)

于 2015-12-08T11:47:44.693 回答
0

我建议felm使用plm. |您可以在公式中的a 之后指定所有想要作为固定效应的变量。

model <- felm(income ~ sales | cityid + fid + qtr)

您应该注意,当公司仅在一个独特的城市中时,不需要城市固定效应。原因是公司的固定效应已经使公司内所有不随时间变化的事物保持不变,即它们的地理位置。从数学上讲,固定效应转换从数据中减去公司层面的平均值,得到的平均值为零。如果您然后从所有公司中形成城市级别的平均值,那么从数据中减去该平均值不会做任何事情。

于 2021-04-30T00:11:12.303 回答