R dplyr:面板数据-相对值

R dplyr:面板数据-相对值,r,dplyr,panel-data,R,Dplyr,Panel Data,我以以下数据集为例: 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

我以以下数据集为例:

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\u emp
,对于每个观察,该行的就业情况与公司1在各自年份的就业情况相关。

例如,1983年公司2的
rel_emp
值应为1983年公司2的
emp
除以1983年公司1的
emp

可能的解决方案:
1.提取公司1的雇用情况:

library(dplyr)
emp_firm1 = EmplUK %>% filter(firm==1) %>% dplyr::select(year, emp)
  • emp\u firm1
    按年添加到
    EmplUK
    (我现在不知道该怎么做)

  • emp
    除以
    emp\u firm1

    empuk=mutate(empuk,rel\u emp=emp/emp\u 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
    

    对于第2步和第3步,尝试合并<代码>%%>%left\u加入(EmplUK,by=“year”)%%>%mutate(rel\u emp=emp.y/emp.x)