قم بفرز DataFrame في R.

Qm Bfrz Dataframe Fy R



يعد فرز DataFrames في R عملية حاسمة في تحليل البيانات ومعالجتها. بشكل ملحوظ ، يوفر R قدرًا كبيرًا من المرونة في فرز البيانات استنادًا إلى أعمدة متعددة والفرز بترتيب تصاعدي أو تنازلي. في R ، يمكن فرز إطارات البيانات باستخدام مجموعة متنوعة من الأساليب والوظائف. في هذه المقالة ، سنتطرق إلى العديد من الوظائف التي تساعدنا على فرز DataFrame في أي من الطلبات المحددة.

مثال 1: فرز DataFrame باستخدام أسلوب Order () في R.

يتم استخدام الدالة order () في R لفرز DataFrames حسب عمود واحد أو عدة أعمدة. تحصل وظيفة الترتيب على فهارس الصفوف التي تم فرزها لإعادة ترتيب صفوف DataFrame.

إمبراطورية = بيانات. إطار ( الأسماء = ج ( 'آندي' و 'علامة' و 'Bonnie' و 'كارولين' و 'جون' ) و

عمر = ج ( واحد وعشرين و 23 و 29 و 25 و 32 ) و

مرتب = ج ( 2000 و 1000 و 1500 و 3000 و 2500 ) )

قطة ( ' إطار البيانات مرتبة حسب الأسماء بترتيب تصاعدي ' )

مرتبة_اسك = إمبراطورية [ مع ( إمبراطورية و طلب ( الأسماء ) ) و ]

مطبعة ( مرتبة_اسك )

هنا ، نحدد 'emp' DataFrame بثلاثة أعمدة تحتوي على قيم مختلفة. يتم نشر وظيفة cat () لطباعة العبارة للإشارة إلى أنه سيتم فرز 'emp' DataFrame بعمود 'الأسماء' بترتيب تصاعدي. لهذا ، نستخدم الدالة order () في R التي تُرجع مواضع الفهرس للقيم في متجه يتم فرزها بترتيب تصاعدي. في هذه الحالة ، تحدد الوظيفة with () أنه يجب فرز عمود 'الأسماء'. يتم تخزين DataFrame الذي تم فرزه في المتغير 'sorted_asc' الذي يتم تمريره كوسيطة في وظيفة print () لطباعة النتائج التي تم فرزها.







ومن ثم ، يتم عرض النتائج التي تم فرزها لـ DataFrame حسب عمود 'الأسماء' بترتيب تصاعدي في ما يلي. للحصول على عملية الفرز بترتيب تنازلي ، يمكننا فقط تحديد العلامة السلبية مع اسم العمود بالترتيب السابق () وظيفة:





مثال 2: فرز DataFrame باستخدام معلمات أسلوب الترتيب () في R.

علاوة على ذلك ، تأخذ الدالة order () الوسيطات المتناقصة لفرز DataFrame. في المثال التالي ، نحدد الدالة order () مع الوسيطة للفرز بترتيب تصاعدي أو تنازلي:





مدافع = بيانات. إطار (

بطاقة تعريف = ج ( 1 و 3 و 4 و 5 و 2 ) و

دورة = ج ( 'بايثون' و 'جافا' و 'C ++' و 'MongoDB' و 'R' ) )

مطبعة ( 'مرتبة بترتيب تنازلي حسب المعرف' )

مطبعة ( مدافع [ طلب ( df $ معرف و تناقص = حقيقي ) و ] )

هنا ، نعلن أولاً عن المتغير 'df' حيث يتم تعريف وظيفة data.frame () بثلاثة أعمدة مختلفة. بعد ذلك ، نستخدم وظيفة print () حيث نطبع رسالة للإشارة إلى أنه سيتم فرز DataFrame بترتيب تنازلي بناءً على عمود 'id'. بعد ذلك ، ننشر وظيفة print () مرة أخرى لإجراء عملية الفرز وطباعة تلك النتائج. داخل وظيفة print () ، نسمي وظيفة 'order' لفرز 'df' DataFrame استنادًا إلى عمود 'الدورة التدريبية'. يتم تعيين الوسيطة 'التناقصية' على TRUE للفرز بترتيب تنازلي.

في الرسم التوضيحي التالي ، يتم ترتيب عمود 'المعرف' في DataFrame بترتيب تنازلي:



ومع ذلك ، للحصول على نتائج الفرز بترتيب تصاعدي ، يتعين علينا تعيين الوسيطة التنازلية لوظيفة order () مع FALSE كما هو موضح في ما يلي:

مطبعة ( 'مرتبة حسب الترتيب المتزايد حسب المعرف' )

مطبعة ( مدافع [ طلب ( df $ معرف و تناقص = خطأ شنيع ) و ] )

هناك ، نحصل على ناتج عملية الفرز لـ DataFrame بواسطة عمود 'id' بترتيب تصاعدي.

مثال 3: فرز DataFrame باستخدام طريقة Arrange () في R.

بالإضافة إلى ذلك ، يمكننا أيضًا استخدام طريقة الترتيب () لفرز إطار البيانات حسب الأعمدة. يمكننا أيضًا الفرز بترتيب تصاعدي أو تنازلي. يستخدم كود R المعطى التالي وظيفة الترتيب ():

مكتبة ( 'dplyr' )

طالب = بيانات. إطار (

بطاقة تعريف = ج ( 3 و 5 و 2 و 4 و 1 ) و

علامات = ج ( 70 و 90 و 75 و 88 و 92 ) )

مطبعة ( 'زيادة ترتيب الفرز حسب المعرف' )

مطبعة ( يرتب ( طالب و بطاقة تعريف ) )

هنا ، نقوم بتحميل الحزمة 'dplyr' من R للوصول إلى طريقة الترتيب () للفرز. بعد ذلك ، لدينا وظيفة data.frame () التي تحتوي على عمودين وتعيين DataFrame في متغير 'student'. بعد ذلك ، ننشر وظيفة الترتيب () من الحزمة 'dplyr' في وظيفة print () لفرز DataFrame المحدد. تأخذ وظيفة الترتيب () 'الطالب' DataFrame كأول وسيط لها ، متبوعًا بـ 'معرف' الأعمدة التي يتم الفرز وفقًا لها. تقوم وظيفة print () في النهاية بطباعة DataFrame الذي تم فرزه إلى وحدة التحكم.

يمكننا أن نرى مكان فرز عمود 'Id' في تسلسل في الإخراج التالي:

مثال 4: فرز DataFrame حسب التاريخ في R.

يمكن أيضًا فرز DataFrame في R حسب قيم التاريخ. لهذا ، يجب تحديد الوظيفة التي تم فرزها باستخدام الدالة as.date () لتنسيق التواريخ.

تاريخ الحدث = بيانات. إطار ( حدث = ج ( '3/4/2023' و '2/2/2023' و

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

رسوم = ج ( 3100 و 2200 و 1000 و 2900 ) )

تاريخ الحدث [ طلب ( مثل . تاريخ ( event_date $ event و شكل = '٪ d /٪ m /٪ Y' ) ) و ]

هنا ، لدينا 'تاريخ_الحدث' DataFrame الذي يحتوي على عمود 'الحدث' مع سلاسل التاريخ بتنسيق 'الشهر / اليوم / السنة'. نحتاج إلى فرز سلاسل التاريخ هذه بترتيب تصاعدي. نستخدم الدالة order () التي تفرز DataFrame حسب عمود 'الحدث' بترتيب تصاعدي. نحقق ذلك عن طريق تحويل سلاسل التاريخ في عمود 'الحدث' إلى التواريخ الفعلية باستخدام وظيفة 'as.Date' وتحديد تنسيق سلاسل التاريخ باستخدام معلمة 'format'.

وبالتالي ، فإننا نمثل البيانات التي تم فرزها حسب عمود تاريخ 'الحدث' بترتيب تصاعدي.

مثال 5: فرز DataFrame باستخدام أسلوب Setorder () في R.

وبالمثل ، فإن setorder () هي أيضًا طريقة أخرى لفرز DataFrame. يقوم بفرز DataFrame عن طريق أخذ الوسيطة تمامًا مثل طريقة الترتيب (). يتم إعطاء كود R لطريقة setorder () على النحو التالي:

مكتبة ( 'جدول البيانات' )

د 1 = بيانات. إطار ( رقم التعريف الخاص بالطلب = ج ( 1 و 4 و 2 و 5 و 3 ) و

قائمة الطلبات = ج ( 'تفاحة' و 'البرتقالي' و 'كيوي' و 'مانجو' و 'موز' ) )

مطبعة ( سن أمرا ( د 1 و قائمة الطلبات ) )

هنا ، قمنا بتعيين مكتبة data.table أولاً لأن setorder () هي وظيفة هذه الحزمة. بعد ذلك ، نستخدم وظيفة data.frame () لإنشاء إطار البيانات. يتم تحديد DataFrame بعمودين فقط نستخدمهما للفرز. بعد ذلك ، قمنا بتعيين وظيفة setorder () في وظيفة print (). وظيفة setorder () تأخذ 'd1' DataFrame كمعامل أول وعمود 'معرف الطلب' كمعامل ثاني يتم من خلاله فرز DataFrame. تقوم وظيفة 'setorder' بإعادة ترتيب صفوف جدول البيانات بترتيب تصاعدي بناءً على القيم الموجودة في عمود 'OrderId'.

DataFrame الذي تم فرزه هو الإخراج في وحدة التحكم التالية لـ R:

مثال 6: فرز DataFrame باستخدام طريقة Row.Names () في R.

طريقة row.names () هي أيضًا طريقة لفرز DataFrame في R. تقوم row.names () بفرز DataFrames حسب الصف المحدد.

مدافع < - بيانات. إطار ( فريق = ج ( 'X' و 'X' و 'و' و 'و' و 'مع' ) و

نتيجة = ج ( 91 و 80 و 86 و 83 و 95 ) )

صف. الأسماء ( مدافع ) < - ج ( 'أ' و 'د' و 'ج' و 'و' و 'ب' )

مدافع [ طلب ( صف. الأسماء ( مدافع ) ) و ]

هنا ، يتم إنشاء وظيفة data.frame () داخل متغير 'df' حيث يتم تحديد الأعمدة بالقيم. بعد ذلك ، يتم تحديد أسماء صفوف DataFrame باستخدام الدالة row.names (). بعد ذلك ، نسمي الدالة order () لفرز DataFrame حسب أسماء الصفوف. ترجع الدالة order () مؤشرات الصفوف التي تم فرزها والتي تُستخدم لإعادة تنظيم صفوف DataFrame.

يُظهر الإخراج DataFrame الذي تم فرزه حسب الصفوف أبجديًا:

خاتمة

لقد رأينا الوظائف المختلفة لفرز إطارات البيانات في R. كل طريقة لها ميزة وتحتاج إلى عملية الفرز. يمكن أن يكون هناك المزيد من الطرق أو الطرق لفرز DataFrame بلغة R لكن طرق الترتيب () والترتيب () و setorder () هي الأكثر أهمية وسهولة في الاستخدام للفرز.