R dplyr:面板数据 - 相对值

R dplyr: Panel Data - Relative values

我以下面的数据集为例:

library(plm)
data(EmplUK)

head(EmplUK)

   firm year sector   emp  wage capital output
1    1 1977      7 5.041 13.15  0.5894  95.71
2    1 1978      7 5.600 12.30  0.6318  97.36
3    1 1979      7 5.015 12.84  0.6771  99.61
4    1 1980      7 4.715 13.80  0.6171 100.55
5    1 1981      7 4.093 14.29  0.5076  99.56
6    1 1982      7 3.166 14.87  0.4229  98.62

我想添加一行rel_emp,其中每个观察值都有相对于公司 1 在相应年份的就业的就业。
例如。公司 2 在 1983 年的 rel_emp 的值应该是公司 2 在 1983 年的 emp 除以公司 1 在 1983 年的 emp

可能的解决方案:
1.提取公司1的就业:

library(dplyr)
emp_firm1 = EmplUK %>% filter(firm==1) %>% dplyr::select(year, emp)
  1. 按年份添加emp_firm1EmplUK(我现在不知道怎么做)

  2. emp 除以 emp_firm1:

    EmplUK=mutate(EmplUK, rel_emp=emp/emp_firm1)

非常感谢。

我们先合并,再拆分,整理得到原来的布局:

library(dplyr)
EmplUK %>% filter(firm == 1) %>%
  dplyr::select(year, emp) %>%
  left_join(EmplUK, by="year") %>%
  mutate(rel_emp = emp.y/emp.x) %>%
  arrange(firm, year)
#     year emp.x firm sector   emp.y    wage capital   output     rel_emp
# 1   1977 5.041    1      7   5.041 13.1516  0.5894  95.7072  1.00000000
# 2   1978 5.600    1      7   5.600 12.3018  0.6318  97.3569  1.00000000
# 3   1979 5.015    1      7   5.015 12.8395  0.6771  99.6083  1.00000000
# 4   1980 4.715    1      7   4.715 13.8039  0.6171 100.5501  1.00000000
# 5   1981 4.093    1      7   4.093 14.2897  0.5076  99.5581  1.00000000
# 6   1982 3.166    1      7   3.166 14.8681  0.4229  98.6151  1.00000000
# 7   1983 2.936    1      7   2.936 13.7784  0.3920 100.0301  1.00000000
# 8   1977 5.041    2      7  71.319 14.7909 16.9363  95.7072 14.14778842
# 9   1978 5.600    2      7  70.643 14.1036 17.2422  97.3569 12.61482130
# 10  1979 5.015    2      7  70.918 14.9534 17.5413  99.6083 14.14117655
# 11  1980 4.715    2      7  72.031 15.4910 17.6574 100.5501 15.27698726
# 12  1981 4.093    2      7  73.689 16.1969 16.7133  99.5581 18.00366597
# 13  1982 3.166    2      7  72.419 16.1314 16.2469  98.6151 22.87397387
# 14  1983 2.936    2      7  68.518 16.3051 17.3696 100.0301 23.33719198
# 15  1977 5.041    3      7  19.156 22.6920  7.0975  95.7072  3.80003975
# 16  1978 5.600    3      7  19.440 20.6938  6.9469  97.3569  3.47142881
# 17  1979 5.015    3      7  19.900 21.2048  6.8565  99.6083  3.96809579
# 18  1980 4.715    3      7  20.240 22.1970  6.6547 100.5501  4.29268274
# 19  1981 4.093    3      7  19.570 24.8714  6.2136  99.5581  4.78133410