Как уже упоминалось @ zx8754, операции tidyverse будут переупорядочивать строки.Нет гарантии, что вы получите определенный порядок строк.https://github.com/tidyverse/dplyr/issues/2192#issuecomment-281655703
Присмотревшись немного, я вижу, что агрегат отсортирован по шестерёнкам, цил, а затем по миль на галлон.Таким образом, следующий код обратного хода будет иметь тот же порядок строк, что и aggregate(hp~mpg+cyl+gear, mtcars, FUN = sum)
:
library(tidyverse)
mtcars %>% group_by(gear, cyl, mpg) %>% summarise(hp = sum(hp)) %>% head()
#> # A tibble: 6 x 4
#> # Groups: gear, cyl [3]
#> gear cyl mpg hp
#> <dbl> <dbl> <dbl> <dbl>
#> 1 3 4 21.5 97
#> 2 3 6 18.1 105
#> 3 3 6 21.4 110
#> 4 3 8 10.4 420
#> 5 3 8 13.3 245
#> 6 3 8 14.3 245
Создано в 2019-02-27 пакетом представлением (v0.2.1)
и для получения того же порядка строк, что и mtcars %>% group_by(mpg, cyl, gear) %>% summarise(hp = sum(hp))
:
library(tidyverse)
aggregate(hp~gear+cyl+mpg, mtcars, FUN = sum) %>% head()
#> gear cyl mpg hp
#> 1 3 8 10.4 420
#> 2 3 8 13.3 245
#> 3 3 8 14.3 245
#> 4 3 8 14.7 230
#> 5 5 8 15.0 335
#> 6 3 8 15.2 330
Создано в 2019-02-27 пакетом Представить (v0.2.1)