【发布时间】:2020-12-02 20:28:13
【问题描述】:
让我们考虑删除了 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
我想为这个数据框添加一个趋势,即从 1 开始的数字:每个公司的某个值。
问题是每个公司都没有一些观察年份,即公司有 1977、1980、1981、1982 年(所以公司 1 的趋势向量应该是:1、2、3、4)。公司三有 1977,1979,1980,1981,1982,1983(公司三的趋势向量应该是:1,2,3,4,5,6)。
我不太确定如何轻松完成。我知道对于每个公司,我可以创建unique() 年向量并计算1:length(uniqie())。没关系,有没有更简单的方法可以实现?
【问题讨论】: