如何使用 R 中的 plm 包创建包含交易数据的面板数据集?

问题描述 投票:0回答:1

我想做面板回归 R 并使用多个固定效应。 我尝试首先使用 pdata.frame 函数构建面板数据集,但我不确定我做得是否正确。

我有 2010 年至 2015 年的贸易交易数据,这些数据显示了向某些目的地出口的公司。 话虽这么说,有多家公司在出口,而且显然同时出口到不同的目的地。因此,行看起来像,

firm.  destination   year
Firm A   US.         2010. ...
Firm A.  Mexico.     2010
Firm B.  Russia.     2010
Firm C.  China.      2011

像这样。

我尝试使用 pdata.frame 函数将数据集制作为面板数据集。 我知道为了成为面板数据集,它需要个体和时间索引。

但是,由于相同的公司名称出现在多行中(同一年出口到同一目的地的公司),因此我无法选择公司作为索引。如何使用 plm 制作面板数据集来执行回归?

我所做的是将公司和目标列结合起来,并基于此制作面板数据集。 因此面板数据集看起来像,

identifier.            firm.    destination.   year
Firm A * US * 2010   firm A.      US.         2010 
Firm A * Mexico * 2010 firm A.     Mexico.     2010
...

像这样。这是使用 pdata.frame 构建面板数据集的正确方法吗?

这样做之后,我进行了如下的plm回归。

model <- plm(dependent ~ regressor, index = "firm", data = panel_data, model = "within")

但是,我得到的结果与

的结果完全相同
model <- plm(dependent ~ regressor, data = panel_data, model = "within").

这意味着公司固定效应根本没有影响。

我对这个结果表示怀疑,并猜测数据构建本身可能是错误的。

r panel plm
1个回答
0
投票

很可能,您使用这两个命令估计了相同的模型。这与其说是一个编程或 PLM 问题,不如说是一个关于面板数据维度的概念问题。

使用 plm 的 pdata.frame 的索引参数(或直接在函数 plm 中),您无需指定固定效果。您指定数据的面板结构,即哪个变量用作观察单位(“个体”),哪个变量指定时间片(“时间”),因此是二维的。如果您仅指定第一个维度,则会生成时间维度,但在这种情况下可能不是您想要的。您希望

year
变量作为第二个索引。

对于第一个维度:由于一年内多次拥有同一家公司,因此该数据从概念上讲并不容易适用于固定效应模型。您要么想要汇总这些值以得出每个公司-年份组合的度量(例如,公司-年份组合的平均值),要么将公司-目的地的组合视为您的观察单位(因此不仅仅将公司作为观察单位)。对于后一种方法,将公司和目的地组合在一个变量中(例如通过连接两个字符串)。请注意,您的“个人”效应不是公司固定效应,而是公司目的地固定效应。

plm
中,参数
effect
设置为
"individual"
将估计单向模型,其效果指定为第一个面板数据维度(因此此处为公司或公司目的地)。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.