我如何添加一个仅在面板数据回归模型(plm)中会随年变化的变量?

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

[我有一个[9个国家/地区]的(一个国家/地区)416家公司的面板数据。在使用Years创建的多元回归模型中,只有微变量(公司信息)独立。依赖(结果)是公司的绩效。

我想添加诸如通货膨胀率之类的宏变量,该变量仅在数年内变化,并且对于现有模型中的所有公司都保持不变,因此在模型中的外观如何?将其绑定到plm变量是否有任何特殊性?

r variables panel-data plm
1个回答
0
投票

您可以使用Year轻松实现。假设您的match数据是一个具有time列和value列的矩阵,如下所示:

inflation

然后只是数据集的inflation # time inflation # 1 1 0.007334147 # 2 2 0.207658973 # 3 3 0.906601408 列和match矩阵的time列,并对其进行子集化,就像这样:

time

要计算单位FE模型,只需将inflation添加为协变量。

dat$inflation <- inflation[match(dat$time, inflation$time), "inflation"]
dat
#   unit time           X           y   inflation
# 1    a    1  1.37095845  0.62276512 0.007334147
# 2    b    1 -0.56469817  1.02252057 0.007334147
# 3    c    1  0.36312841  2.46820960 0.007334147
# 4    a    2  0.63286260 -1.07242940 0.207658973
# 5    b    2  0.40426832 -0.07665461 0.207658973
# 6    c    2 -0.10612452 -0.18638359 0.207658973
# 7    a    3  1.51152200  1.39171140 0.906601408
# 8    b    3 -0.09465904 -0.33158244 0.906601408
# 9    c    3  2.01842371 -1.64724356 0.906601408

使用LSDV检查:

inflation

使用的玩具数据:

library(plm)
plm(y ~ X + inflation, index=c("unit", "time"), data=dat,
    effect="individual", model="within")
# Model Formula: y ~ X + inflation
# 
# Coefficients:
#         X inflation 
#  -0.33412  -0.88383 
© www.soinside.com 2019 - 2024. All rights reserved.