Winsorize данные по группе с data.table - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть набор данных, как показано ниже:

dt <- fread("    ID  Year  POP     REV
A   1970  13116   3829
  A   1971  13116   4020
  B   1972    110      0
  C   1972    870     17
  D   1972    500     20
  D   1972    300     10", header = T)

ID  Year  POP     REV
A   1970  13116   3829
A   1971  13116   4020
B   1972    110      0
C   1972    870     17
D   1972    500     20
D   1972    300     10

Я знаю, что есть функция Winsorize(), чтобы сделать такую ​​вещь.
Тем не менее, я не знаю, как winsorize на Year.
Код, которым я управляю winsorize(), как показано ниже:

winsorize(dt$POP, minval = quantile(dt$POP, 0.01), maxval = quantile(dt$POP, 0.99), probs = c(0.01, 0.99))
[1] 2108.296 2108.296  110.000  870.000  500.000  300.000

Любое решение о том, как сделать это с пакетом data.table?

...