я следующие данные в data.frame:Сортировка кадр данных по групповой сумме первой, затем по частоте
reg id n
Echo E1 7
Charlie C1 3
Alpha A1 5
Echo E2 1
Alpha A2 4
Charlie C2 9
Я пытаюсь сортировать его по рег сумму первого, а затем п (убывают). Результат будет выглядеть так:
reg id n
Charlie C2 9
Charlie C1 3
Alpha A1 5
Alpha A2 4
Echo E1 7
Echo E2 1
Поскольку Чарли 12, Alpha имеет 9 и Echo имеет 8.
До сих пор я только был в состоянии группы и сделать вторую часть сортировкой (через плохое использование dplyr). Колонка reg по-прежнему сортируется по алфавиту.
Есть ли элегантное решение?
Мне нравится идея - вы можете ее проглотить, я думаю, с помощью 'dat [с (dat, order (ave (n, reg, FUN = sum), n, убывающий = TRUE)),]' или даже 'dat [with (dat, order (-ave (n, reg, FUN = sum), -n)),]' – thelatemail