Вот решение с data.table
:
- Сначала убедитесь, что вы храните свои данные (я полагаю, они называются
dt
) как data.table.
library(data.table)
dt <- data.table(dt)
Выберите все записи, которые либо приходят, либо go в AFRICOM (a), суммируют их (b) на
CARRIERS
(c), упорядочивают их по этой сумме (d) и отображают первые пять (е).
dt[SPOE_AOR == "AFRICOM" | SPOD_AOR == "AFRICOM", # (a)
.(TOTAL = sum(WEIGHT)), # (b)
CARRIERS][ # (c)
order(TOTAL, decreasing = TRUE)][ # (d)
1:5] # (e)
Если вы никогда не работали с data.table
, это может показаться на первый взгляд ужасно сложным. Но его довольно легко освоить, и он дает вам большую гибкость и производительность.