【发布时间】:2020-12-02 16:07:11
【问题描述】:
让我们考虑删除了 300 行的面板数据
data("EmplUK", package="plm")
set.seed(42)
EmplUK<-EmplUK[-sample(1:nrow(EmplUK),300),]
firm year sector emp wage capital output
1 1 1977 7 5.041 13.1516 0.5894 95.7072
4 1 1980 7 4.715 13.8039 0.6171 100.5501
5 1 1981 7 4.093 14.2897 0.5076 99.5581
6 1 1982 7 3.166 14.8681 0.4229 98.6151
7 1 1983 7 2.936 13.7784 0.3920 100.0301
8 2 1977 7 71.319 14.7909 16.9363 95.7072
我想添加关于年份的三个级别的虚拟变量。(所以我想增加三个列)。
问题是每家公司的观察年数都不相同,即公司有 1977、1980、1981、1982 年所以虚拟变量应该是:
1 0 0
0 1 0
0 0 1
1 0 0
公司三有 1977,1979,1980,1981,1982,1983。假人应该如下所示
1 0 0
0 1 0
0 0 1
1 0 0
0 1 0
0 0 1
我知道要创建虚拟变量,我们只需要使用命令:
model.matrix(~ factor(cycle(ts(EmplUK, frequency = 3)))+0)
但我不知道如何将其划分为年份。你有什么想法可以调整吗?
【问题讨论】: