Urutkan DataFrame di R

Urutkan Dataframe Di R



Menyortir DataFrames di R adalah operasi penting dalam analisis dan manipulasi data. Secara signifikan, R memberikan banyak fleksibilitas dalam mengurutkan data berdasarkan beberapa kolom dan menyortir dalam urutan naik atau turun. Di R, pengurutan DataFrames dapat dilakukan dengan menggunakan berbagai metode dan fungsi. Pada artikel ini, kita akan membahas berbagai fungsi yang membantu kita mengurutkan DataFrame dalam salah satu urutan yang ditentukan.

Contoh 1: Mengurutkan DataFrame Menggunakan Metode Order() di R

Fungsi order() di R digunakan untuk mengurutkan DataFrames dengan satu atau beberapa kolom. Fungsi order mendapatkan indeks dari baris yang diurutkan untuk mengatur ulang baris DataFrame.

emp = data. bingkai ( nama = C ( 'Andi' , 'Tanda' , 'Bonnie' , 'Karolina' , 'Yohanes' ) ,

usia = C ( dua puluh satu , 23 , 29 , 25 , 32 ) ,

gaji = C ( 2000 , 1000 , 1500 , 3000 , 2500 ) )

kucing ( ' \N \N Bingkai Data Diurutkan berdasarkan Nama dalam Urutan Naik \N ' )

sort_asc = emp [ dengan ( emp , memesan ( nama ) ) , ]

mencetak ( sort_asc )

Di sini, kami mendefinisikan DataFrame 'emp' dengan tiga kolom yang berisi nilai berbeda. Fungsi cat() dikerahkan untuk mencetak pernyataan untuk menunjukkan bahwa DataFrame 'emp' oleh kolom 'nama' dalam urutan menaik akan diurutkan. Untuk ini, kami menggunakan fungsi order() di R yang mengembalikan posisi indeks dari nilai dalam vektor yang diurutkan dalam urutan menaik. Dalam hal ini, fungsi with() menentukan bahwa kolom 'nama' harus diurutkan. DataFrame yang diurutkan disimpan dalam variabel “sorted_asc” yang diteruskan sebagai argumen dalam fungsi print() untuk mencetak hasil yang diurutkan.







Oleh karena itu, hasil DataFrame yang diurutkan berdasarkan kolom 'nama' dalam urutan menaik ditampilkan sebagai berikut. Untuk mendapatkan operasi pengurutan dalam urutan menurun, kita cukup menentukan tanda negatif dengan nama kolom di fungsi order() sebelumnya:





Contoh 2: Mengurutkan DataFrame Menggunakan Parameter Metode Order() di R

Selain itu, fungsi order() mengambil argumen yang menurun untuk mengurutkan DataFrame. Dalam contoh berikut, kami menentukan fungsi order() dengan argumen untuk mengurutkan dalam urutan naik atau turun:





df = data. bingkai (

pengenal = C ( 1 , 3 , 4 , 5 , 2 ) ,

kursus = C ( 'Python' , 'Jawa' , 'C++' , 'MongoDB' , 'R' ) )

mencetak ( 'Diurutkan dalam urutan menurun berdasarkan ID' )

mencetak ( df [ memesan ( df$id , menurun = BENAR ) , ] )

Di sini, pertama-tama kita mendeklarasikan variabel “df” di mana fungsi data.frame() didefinisikan dengan tiga kolom berbeda. Selanjutnya, kami menggunakan fungsi print() di mana kami mencetak pesan untuk menunjukkan bahwa DataFrame akan diurutkan dalam urutan menurun berdasarkan kolom 'id'. Setelah itu, kami menggunakan fungsi print() lagi untuk melakukan operasi penyortiran dan mencetak hasil tersebut. Di dalam fungsi print(), kita memanggil fungsi “order” untuk mengurutkan DataFrame “df” berdasarkan kolom “kursus”. Argumen 'menurun' disetel ke TRUE untuk mengurutkan dalam urutan menurun.

Dalam ilustrasi berikut, kolom 'id' DataFrame disusun dalam urutan menurun:



Namun, untuk mendapatkan hasil pengurutan dalam urutan menaik, kita harus menyetel argumen menurun dari fungsi order() dengan FALSE seperti yang ditunjukkan berikut ini:

mencetak ( 'Diurutkan dalam Urutan meningkat berdasarkan ID' )

mencetak ( df [ memesan ( df$id , menurun = PALSU ) , ] )

Di sana, kami mendapatkan output dari operasi pengurutan DataFrame dengan kolom 'id' dalam urutan menaik.

Contoh 3: Mengurutkan DataFrame Menggunakan Metode Arrange() di R

Selain itu, kita juga bisa menggunakan metode arrange() untuk mengurutkan DataFrame berdasarkan kolom. Kami juga dapat mengurutkan dalam urutan naik atau turun. Kode R berikut menggunakan fungsi arrange() :

perpustakaan ( 'dplyr' )

murid = data. bingkai (

Pengenal = C ( 3 , 5 , 2 , 4 , 1 ) ,

tanda = C ( 70 , 90 , 75 , 88 , 92 ) )

mencetak ( 'Meningkatkan Penyortiran Pesanan menurut Id' )

mencetak ( mengatur ( murid , Pengenal ) )

Di sini, kami memuat paket 'dplyr' dari R untuk mengakses metode arrange() untuk menyortir. Kemudian, kami memiliki fungsi data.frame() yang berisi dua kolom dan mengatur DataFrame ke dalam variabel 'siswa'. Selanjutnya, kami menerapkan fungsi arrange() dari paket “dplyr” di fungsi print() untuk mengurutkan DataFrame yang diberikan. Fungsi arrange() menggunakan DataFrame “mahasiswa” sebagai argumen pertama, diikuti oleh “Id” kolom yang akan disortir. Fungsi print() pada akhirnya mencetak DataFrame yang diurutkan ke konsol.

Kita dapat melihat di mana kolom 'Id' diurutkan secara berurutan dalam output berikut:

Contoh 4: Menyortir DataFrame berdasarkan Tanggal di R

DataFrame di R juga dapat diurutkan berdasarkan nilai tanggal. Untuk ini, fungsi yang diurutkan harus ditentukan dengan fungsi as.date() untuk memformat tanggal.

tanggal Acara = data. bingkai ( peristiwa = C ( '3/4/2023' , '2/2/2023' ,

'10/1/2023' , '3/29/2023' ) ,

biaya = C ( 3100 , 2200 , 1000 , 2900 ) )

tanggal Acara [ memesan ( sebagai . Tanggal ( tanggal_acara$acara , format = '%d/%m/%Y' ) ) , ]

Di sini, kami memiliki DataFrame 'event_date' yang berisi kolom 'event' dengan string tanggal dalam format 'bulan/hari/tahun'. Kita perlu mengurutkan string tanggal ini dalam urutan menaik. Kami menggunakan fungsi order() yang mengurutkan DataFrame berdasarkan kolom 'event' dalam urutan menaik. Kami melakukannya dengan mengonversi string tanggal di kolom 'event' ke tanggal sebenarnya menggunakan fungsi 'as.Date' dan menentukan format string tanggal menggunakan parameter 'format'.

Jadi, kami mewakili data yang diurutkan berdasarkan kolom tanggal 'acara' dalam urutan menaik.

Contoh 5: Mengurutkan DataFrame Menggunakan Metode Setorder() di R

Demikian pula, setorder() juga merupakan metode lain untuk mengurutkan DataFrame. Ini mengurutkan DataFrame dengan mengambil argumen seperti metode arrange(). Kode R untuk metode setorder() diberikan sebagai berikut:

perpustakaan ( 'tabel data' )

d1 = data. bingkai ( Id pemesanan = C ( 1 , 4 , 2 , 5 , 3 ) ,

memesan barang = C ( 'apel' , 'oranye' , 'Kiwi' , 'buah mangga' , 'pisang' ) )

mencetak ( mengatur pesanan ( d1 , memesan barang ) )

Di sini, kita menyetel pustaka data.table terlebih dahulu karena setorder() adalah fungsi dari paket ini. Kemudian, kami menggunakan fungsi data.frame() untuk membuat DataFrame. DataFrame ditentukan dengan hanya dua kolom yang kami gunakan untuk mengurutkan. Setelah ini, kita mengatur fungsi setorder() di dalam fungsi print(). Fungsi setorder() mengambil DataFrame 'd1' sebagai parameter pertama dan kolom 'orderId' sebagai parameter kedua yang digunakan untuk mengurutkan DataFrame. Fungsi 'setorder' mengatur ulang baris tabel data dalam urutan menaik berdasarkan nilai di kolom 'orderId'.

DataFrame yang diurutkan adalah keluaran di konsol R berikut:

Contoh 6: Mengurutkan DataFrame Menggunakan Metode Row.Names() di R

Metode row.names() juga merupakan cara untuk mengurutkan DataFrame di R. Row.names() mengurutkan DataFrame berdasarkan baris yang ditentukan.

df < - data. bingkai ( tim = C ( 'X' , 'X' , 'DAN' , 'DAN' , 'DENGAN' ) ,

skor = C ( 91 , 80 , 86 , 83 , 95 ) )

baris. nama ( df ) < - C ( 'A' , 'D' , 'C' , 'DAN' , 'B' )

df [ memesan ( baris. nama ( df ) ) , ]

Di sini, fungsi data.frame() dibuat di dalam variabel “df” di mana kolom ditentukan dengan nilainya. Kemudian, nama baris DataFrame ditentukan menggunakan fungsi row.names() . Setelah itu, kita memanggil fungsi order() untuk mengurutkan DataFrame berdasarkan nama baris. Fungsi order() mengembalikan indeks dari baris yang diurutkan yang digunakan untuk mengatur ulang baris DataFrame.

Output menunjukkan DataFrame yang diurutkan berdasarkan baris menurut abjad:

Kesimpulan

Kami telah melihat fungsi yang berbeda untuk mengurutkan DataFrames di R. Masing-masing metode memiliki kelebihan dan membutuhkan operasi pengurutan. Mungkin ada lebih banyak metode atau cara untuk mengurutkan DataFrame dalam bahasa R tetapi metode order(), arrange(), dan setorder() adalah yang paling penting dan mudah digunakan untuk penyortiran.