Читать книгу R für Data Science - Hadley Wickham - Страница 57

Zeilen mit arrange() anordnen

Оглавление

Die Funktion arrange() arbeitet ähnlich wie filter(), wählt aber keine Zeilen aus, sondern ändert deren Reihenfolge. Sie übernimmt einen Dataframe und einen Satz von Spaltennamen (oder komplexeren Ausdrücken), nach denen sortiert wird. Wenn Sie mehr als einen Spaltennamen angeben, wird jede zusätzliche Spalte verwendet, um gleiche Bindungen in den Werten der vorherigen Spalten aufzugliedern:

arrange(flights, year, month, day)

#> # A tibble: 336,776 × 19

#> year month day dep_time sched_dep_time dep_delay

#> <int> <int> <int> <int> <int> <dbl>

#> 1 2013 1 1 517 515 2

#> 2 2013 1 1 533 529 4

#> 3 2013 1 1 542 540 2

#> 4 2013 1 1 544 545 -1

#> 5 2013 1 1 554 600 -6

#> 6 2013 1 1 554 558 -4

#> # ... with 3.368e+05 more rows, and 13 more variables:

#> # arr_time <int>, sched_arr_time <int>, arr_delay <dbl>,

#> # carrier <chr>, flight <int>, tailnum <chr>, origin <chr>,

#> # dest <chr>, air_time <dbl>, distance <dbl>, hour <dbl>,

#> # minute <dbl>, time_hour <dttm>

Mit desc() können Sie eine Spalte in absteigender (descending) Reihenfolge sortieren lassen:

arrange(flights, desc(arr_delay))

#> # A tibble: 336,776 × 19

#> year month day dep_time sched_dep_time dep_delay

#> <int> <int> <int> <int> <int> <dbl>

#> 1 2013 1 9 641 900 1301

#> 2 2013 6 15 1432 1935 1137

#> 3 2013 1 10 1121 1635 1126

#> 4 2013 9 20 1139 1845 1014

#> 5 2013 7 22 845 1600 1005

#> 6 2013 4 10 1100 1900 960

#> # ... with 3.368e+05 more rows, and 13 more variables:

#> # arr_time <int>, sched_arr_time <int>, arr_delay <dbl>,

#> # carrier <chr>, flight <int>, tailnum <chr>, origin <chr>,

#> # dest <chr>, air_time <dbl>, distance <dbl>, hour <dbl>,

#> # minute <dbl>, time_hour <dttm>,

Fehlende Werte werden immer am Ende einsortiert:

df <- tibble(x = c(5, 2, NA))

arrange(df, x)

#> # A tibble: 3 × 1

#> x

#> <dbl>

#> 1 2

#> 2 5

#> 3 NA

arrange(df, desc(x))

#> # A tibble: 3 × 1

#> x

#> <dbl>

#> 1 5

#> 2 2

#> 3 NA

R für Data Science

Подняться наверх