Cara menyusun baris dalam urutan khusus menggunakan dplyr
Anda dapat menggunakan sintaks dasar berikut untuk menyusun baris bingkai data dalam urutan khusus menggunakan paket dplyr di R:
library (dplyr) #arrange rows in custom order based on values in 'team' column df %>% arrange(match(team, c(' C ', ' B ', ' D ', ' A ')), points)
Contoh khusus ini menyusun baris berdasarkan urutan khusus C, B, D, A untuk nilai kolom tim , dan kemudian menurut nilai kolom poin dalam urutan menaik.
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Contoh: Cara menyusun baris dalam urutan khusus menggunakan dplyr
Misalkan kita memiliki kerangka data berikut yang menunjukkan poin yang dicetak oleh pemain bola basket dari tim berbeda:
#create data frame
df <- data. frame (team=c('A', 'B', 'A', 'A', 'B', 'D', 'C', 'D', 'D', 'C'),
points=c(12, 20, 14, 34, 29, 22, 28, 15, 20, 13))
#view data frame
df
team points
1 to 12
2 B 20
3 to 14
4 to 34
5 B 29
6 D 22
7 C 28
8 D 15
9 D 20
10 C 13
Jika kita menggunakan fungsi arrange() untuk mengurutkan baris berdasarkan nilai pada kolom tim , maka berdasarkan nilai pada kolom poin , fungsi arrange() akan mengurutkan baris berdasarkan urutan abjad default :
library (dplyr)
#arrange rows in ascending order by team, then by points
df %>%
arrange(team, points)
team points
1 to 12
2 to 14
3 to 34
4 B 20
5 B 29
6 C 13
7 C 28
8 D 15
9 D 20
10 D 22
Garis dicantumkan menurut abjad berdasarkan tim , kemudian dalam urutan menaik berdasarkan poin .
Namun, katakanlah kita ingin menyusun garis berdasarkan urutan nilai tim berikut: C, B, D, A.
Kita dapat menggunakan fungsi match() dalam fungsi arrange() untuk melakukan hal ini:
library (dplyr) #arrange rows in custom order based on 'team' column, then by 'points' column df %>% arrange(match(team, c(' C ', ' B ', ' D ', ' A ')), points) team points 1 C 13 2 C 28 3 B 20 4 B 29 5 D 15 6 D 20 7 D 22 8 to 12 9 to 14 10 to 34
Baris-baris tersebut disusun dalam urutan khusus yang kami tentukan (C, B, D, A) untuk kolom tim , kemudian berdasarkan kolom poin .
Catatan #1 : Fungsi match mendapatkan indeks baris dari nilai-nilai pada kolom tim, kemudian fungsi arrange dapat mengurutkan berdasarkan nilai indeks tersebut.
Catatan #2 : Untuk mengatur dengan mengurangi nilai poin, cukup gunakan desc(points) saja.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:
Cara mengatur baris berdasarkan grup menggunakan dplyr
Cara memfilter nilai unik menggunakan dplyr
Cara memfilter berdasarkan beberapa kondisi menggunakan dplyr