Isih DataFrame dalam R

Isih Dataframe Dalam R



Menyusun DataFrames dalam R ialah operasi penting dalam analisis dan manipulasi data. Secara ketara, R menyediakan banyak fleksibiliti dalam mengisih data berdasarkan berbilang lajur dan menyusun mengikut tertib menaik atau menurun. Dalam R, menyusun DataFrames boleh dicapai menggunakan pelbagai kaedah dan fungsi. Dalam artikel ini, kami akan melalui pelbagai fungsi yang membantu kami mengisih DataFrame dalam mana-mana pesanan yang ditentukan.

Contoh 1: Menyusun DataFrame Menggunakan Kaedah Order() dalam R

Fungsi order() dalam R digunakan untuk mengisih DataFrames mengikut satu atau berbilang lajur. Fungsi pesanan mendapatkan indeks baris yang diisih untuk menyusun semula baris DataFrame.

emp = data. bingkai ( nama = c ( 'Andy' , 'Tanda' , 'Bonnie' , 'Caroline' , 'John' ) ,

umur = c ( dua puluh satu , 23 , 29 , 25 , 32 ) ,

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

kucing ( ' \n \n Bingkai Data Diisih mengikut Nama dalam Susunan Menaik \n ' )

sorted_asc = emp [ dengan ( emp , pesanan ( nama ) ) , ]

cetak ( sorted_asc )

Di sini, kami mentakrifkan DataFrame 'emp' dengan tiga lajur yang mengandungi nilai berbeza. Fungsi cat() digunakan untuk mencetak pernyataan untuk menunjukkan bahawa DataFrame 'emp' oleh lajur 'nama' dalam tertib menaik akan diisih. Untuk ini, kami menggunakan fungsi order() dalam R yang mengembalikan kedudukan indeks nilai dalam vektor yang diisih dalam tertib menaik. Dalam kes ini, fungsi with() menentukan bahawa lajur 'nama' harus diisih. DataFrame yang diisih disimpan dalam pembolehubah 'sorted_asc' yang diluluskan sebagai hujah dalam fungsi print() untuk mencetak hasil yang diisih.







Oleh itu, hasil diisih DataFrame mengikut lajur 'nama' dalam tertib menaik dipaparkan dalam perkara berikut. Untuk mendapatkan operasi isihan dalam tertib menurun, kita hanya boleh menentukan tanda negatif dengan nama lajur dalam fungsi order() sebelumnya:





Contoh 2: Menyusun DataFrame Menggunakan Parameter Kaedah Order() dalam R

Selain itu, fungsi order() mengambil argumen yang semakin berkurangan untuk mengisih DataFrame. Dalam contoh berikut, kami menentukan fungsi order() dengan hujah untuk mengisih dalam susunan meningkat atau menurun:





df = data. bingkai (

ID = c ( 1 , 3 , 4 , 5 , 2 ) ,

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

cetak ( 'Diisih dalam Susunan menurun mengikut ID' )

cetak ( df [ pesanan ( df$id , semakin berkurangan = BENAR ) , ] )

Di sini, kami mula-mula mengisytiharkan pembolehubah 'df' di mana fungsi data.frame() ditakrifkan dengan tiga lajur berbeza. Seterusnya, kami menggunakan fungsi print() di mana kami mencetak mesej untuk menunjukkan bahawa DataFrame akan diisih dalam susunan menurun berdasarkan lajur 'id'. Selepas itu, kami menggunakan fungsi print() sekali lagi untuk menjalankan operasi pengisihan dan mencetak hasil tersebut. Di dalam fungsi print(), kami memanggil fungsi 'pesanan' untuk mengisih DataFrame 'df' berdasarkan lajur 'kursus'. Argumen 'menurun' ditetapkan kepada TRUE untuk mengisih dalam susunan menurun.

Dalam ilustrasi berikut, lajur 'id' DataFrame disusun dalam tertib menurun:



Walau bagaimanapun, untuk mendapatkan hasil pengisihan dalam tertib menaik, kita perlu menetapkan hujah menurun bagi fungsi order() dengan FALSE seperti yang ditunjukkan dalam perkara berikut:

cetak ( 'Diisih dalam Pesanan yang bertambah mengikut ID' )

cetak ( df [ pesanan ( df$id , semakin berkurangan = SALAH ) , ] )

Di sana, kami mendapat output operasi isihan DataFrame mengikut lajur 'id' dalam tertib menaik.

Contoh 3: Menyusun DataFrame Menggunakan Kaedah Arrange() dalam R

Selain itu, kita juga boleh menggunakan kaedah arrange() untuk mengisih DataFrame mengikut lajur. Kita juga boleh menyusun mengikut tertib menaik atau menurun. Kod R berikut yang diberikan menggunakan fungsi arrange():

perpustakaan ( 'dplyr' )

pelajar = data. bingkai (

ID = c ( 3 , 5 , 2 , 4 , 1 ) ,

markah = c ( 70 , 90 , 75 , 88 , 92 ) )

cetak ( 'Meningkatkan Isih Pesanan mengikut Id' )

cetak ( mengatur ( pelajar , ID ) )

Di sini, kami memuatkan pakej 'dplyr' R untuk mengakses kaedah arrange() untuk mengisih. Kemudian, kita mempunyai fungsi data.frame() yang mengandungi dua lajur dan tetapkan DataFrame ke dalam pembolehubah 'pelajar'. Seterusnya, kami menggunakan fungsi arrange() daripada pakej 'dplyr' dalam fungsi print() untuk mengisih DataFrame yang diberikan. Fungsi arrange() mengambil DataFrame 'pelajar' sebagai hujah pertamanya, diikuti dengan 'Id' lajur untuk diisih mengikut. Fungsi print() pada akhirnya mencetak DataFrame yang diisih ke konsol.

Kita boleh melihat di mana lajur 'Id' diisih dalam urutan dalam output berikut:

Contoh 4: Menyusun DataFrame mengikut Tarikh dalam R

DataFrame dalam R juga boleh diisih mengikut nilai tarikh. Untuk ini, fungsi yang diisih mesti ditentukan dengan fungsi as.date() untuk memformat tarikh.

tarikh_acara = data. bingkai ( peristiwa = c ( '3/4/2023' , '2/2/2023' ,

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

caj = c ( 3100 , 2200 , 1000 , 2900 ) )

tarikh_acara [ pesanan ( sebagai . Tarikh ( tarikh_acara$acara , format = '%d/%m/%Y' ) ) , ]

Di sini, kami mempunyai DataFrame 'event_date' yang mengandungi lajur 'event' dengan rentetan tarikh dalam format 'bulan/hari/tahun'. Kita perlu mengisih rentetan tarikh ini dalam tertib menaik. Kami menggunakan fungsi order() yang mengisih DataFrame mengikut lajur 'acara' dalam tertib menaik. Kami mencapai ini dengan menukar rentetan tarikh dalam lajur 'peristiwa' kepada tarikh sebenar menggunakan fungsi 'as.Date' dan menentukan format rentetan tarikh menggunakan parameter 'format'.

Oleh itu, kami mewakili data yang diisih mengikut lajur tarikh 'peristiwa' dalam tertib menaik.

Contoh 5: Menyusun DataFrame Menggunakan Kaedah Setorder() dalam R

Begitu juga, setorder() juga merupakan kaedah lain untuk mengisih DataFrame. Ia menyusun DataFrame dengan mengambil hujah seperti kaedah arrange(). Kod R untuk kaedah setorder() diberikan seperti berikut:

perpustakaan ( 'data.table' )

d1 = data. bingkai ( orderId = c ( 1 , 4 , 2 , 5 , 3 ) ,

orderItem = c ( 'epal' , 'oren' , 'kiwi' , 'mangga' , 'pisang' ) )

cetak ( tetapkan pesanan ( d1 , orderItem ) )

Di sini, kami menetapkan perpustakaan data.table terlebih dahulu kerana setorder() ialah fungsi pakej ini. Kemudian, kami menggunakan fungsi data.frame() untuk mencipta DataFrame. DataFrame ditentukan dengan hanya dua lajur yang kami gunakan untuk mengisih. Selepas ini, kami menetapkan fungsi setorder() dalam fungsi print(). Fungsi setorder() mengambil DataFrame 'd1' sebagai parameter pertama dan lajur 'orderId' sebagai parameter kedua yang mana DataFrame diisih. Fungsi 'setorder' menyusun semula baris jadual data dalam tertib menaik berdasarkan nilai dalam lajur 'orderId'.

DataFrame yang diisih ialah output dalam konsol R berikut:

Contoh 6: Menyusun DataFrame Menggunakan Kaedah Row.Names() dalam R

Kaedah row.names() juga merupakan cara untuk mengisih DataFrame dalam R. row.names() mengisih DataFrames mengikut baris yang ditentukan.

df < - data. bingkai ( pasukan = c ( 'X' , 'X' , 'DAN' , 'DAN' , 'DENGAN' ) ,

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

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

df [ pesanan ( barisan. nama ( df ) ) , ]

Di sini, fungsi data.frame() ditubuhkan dalam pembolehubah 'df' di mana lajur ditentukan dengan nilai. Kemudian, nama baris DataFrame ditentukan menggunakan fungsi row.names(). Selepas itu, kami memanggil fungsi order() untuk mengisih DataFrame mengikut nama baris. Fungsi order() mengembalikan indeks baris yang diisih yang digunakan untuk menyusun semula baris DataFrame.

Output menunjukkan DataFrame yang diisih mengikut baris mengikut abjad:

Kesimpulan

Kami telah melihat fungsi yang berbeza untuk mengisih DataFrames dalam R. Setiap kaedah mempunyai kelebihan dan memerlukan operasi isihan. Terdapat lebih banyak kaedah atau cara untuk mengisih DataFrame dalam bahasa R tetapi kaedah order(), arrange(), dan setorder() adalah yang paling penting dan mudah digunakan untuk mengisih.