R 添加将聚合子管道的新行(按类别)

R 添加将聚合子管道的新行(按类别),r,R,输入数据: Region Country Product SubProduct Period NPE AYLR PYD APAC Australia Auto Auto Non-PCG 2016 4 43.72% -15.85% APAC Australia Auto Auto PCG 2016 5 0.00% 0.00% APAC Australia Property Non-

输入数据:

Region  Country       Product   SubProduct  Period  NPE AYLR    PYD
APAC    Australia   Auto    Auto Non-PCG    2016    4   43.72%  -15.85%
APAC    Australia   Auto    Auto PCG    2016    5   0.00%    0.00%
APAC    Australia     Property   Non-PCG    2016    -0.03   127.13% -9.39%
APAC    Australia     Property   PCG            2016    19.87   72.12%   0.00%
输出:我想写下R代码,它将创建下面数据的第3行和第6行

Region  Country       Product   SubProduct  Period  NPE AYLR    PYD
APAC    Australia   Auto    Auto Non-PCG    2016    4   43.72%  -15.85%
APAC    Australia   Auto    Auto PCG    2016    5   0.00%    0.00%
APAC    Australia   Auto    All         2016    9   21.86%  -7.92%
APAC    Australia     Property   Non-PCG    2016    -0.03   127.13% -9.39%
APAC    Australia     Property   PCG            2016    19.87   72.12%   0.00%
APAC    Australia     Property   all            2016    19.84   99.62%  -4.69%

@如果我的解决方案有助于解决问题,你可以接受
library(data.table)
setDT(INPUT)
d <- INPUT[, .(NPE = sum(NPE), 
               AYLR = mean(as.numeric(gsub("%", "", AYLR))),
               PYD = mean(as.numeric(gsub("%", "", PYD))),
               SubProduct = "All"), 
             .(Region, Country, Product, Period)]
d <- rbind(INPUT, d)
setkey(d, Region, Country, Product, Period)


   Region   Country  Product   SubProduct Period   NPE    AYLR     PYD
1:   APAC Australia     Auto Auto_Non-PCG   2016  4.00  43.72% -15.85%
2:   APAC Australia     Auto     Auto_PCG   2016  5.00   0.00%   0.00%
3:   APAC Australia     Auto          All   2016  9.00   21.86  -7.925
4:   APAC Australia Property      Non-PCG   2016 -0.03 127.13%  -9.39%
5:   APAC Australia Property          PCG   2016 19.87  72.12%   0.00%
6:   APAC Australia Property          All   2016 19.84  99.625  -4.695