מיין את ה-DataFrame ב-R

Myyn T H Dataframe B R



מיון ה-DataFrames ב-R הוא פעולה מכרעת בניתוח ובמניפולציה של נתונים. באופן משמעותי, R מספקת גמישות רבה במיון הנתונים על בסיס מספר עמודות ומיון בסדר עולה או יורד. ב-R, ניתן לבצע מיון של DataFrames באמצעות מגוון שיטות ופונקציות. במאמר זה נעבור על פונקציות שונות שעוזרות לנו למיין את ה-DataFrame בכל אחד מהסדרים שצוינו.

דוגמה 1: מיון ה-DataFrame באמצעות שיטת Order() ב-R

הפונקציה order() ב-R משמשת למיון ה-DataFrames לפי עמודה אחת או מרובות. פונקציית הסדר מקבלת את המדדים של השורות הממוינות כדי לסדר מחדש את השורות של ה-DataFrame.

emp = נתונים. מִסגֶרֶת ( שמות = ג ( 'אנדי' , 'סימן' , 'בוני' , 'קרוליין' , 'ג'ון' ) ,

גיל = ג ( עשרים ואחת , 23 , 29 , 25 , 32 ) ,

שכר = ג ( 2000 , 1000 , 1500 , 3000 , 2500 ) )

חתול ( ' \n \n מסגרת נתונים ממוינת לפי שמות בסדר עולה \n ' )

sorted_asc = emp [ עם ( emp , להזמין ( שמות ) ) , ]

הדפס ( sorted_asc )

כאן, אנו מגדירים את DataFrame 'emp' עם שלוש עמודות המכילות ערכים שונים. הפונקציה cat() נפרסת כדי להדפיס את ההצהרה כדי לציין ש-'emp' DataFrame לפי העמודה 'names' בסדר עולה עומד להיות ממוין. לשם כך, אנו משתמשים בפונקציה order() ב-R המחזירה את מיקומי האינדקס של הערכים בוקטור שממוין בסדר עולה. במקרה זה, הפונקציה with() מציינת שיש למיין את העמודה 'שמות'. DataFrame הממוין מאוחסן במשתנה 'sorted_asc' שמועבר כארגומנט בפונקציה print() כדי להדפיס את התוצאות הממוינות.







לפיכך, התוצאות הממוינות של DataFrame לפי העמודה 'שמות' בסדר עולה מוצגות בהמשך. כדי לקבל את פעולת המיון בסדר יורד, אנחנו יכולים פשוט לציין את הסימן השלילי עם שם העמודה בפונקציה הקודמת order() :





דוגמה 2: מיון ה-DataFrame באמצעות הפרמטרים של שיטת Order() ב-R

יתר על כן, הפונקציה order() לוקחת את הארגומנטים הפוחתים כדי למיין את ה-DataFrame. בדוגמה הבאה, אנו מציינים את הפונקציה order() עם הארגומנט למיון בסדר עולה או יורד:





df = נתונים. מִסגֶרֶת (

תְעוּדַת זֶהוּת = ג ( 1 , 3 , 4 , 5 , 2 ) ,

קוּרס = ג ( 'פִּיתוֹן' , 'ג'אווה' , 'C++' , 'MongoDB' , 'ר' ) )

הדפס ( 'ממוין בסדר יורד לפי תעודת זהות' )

הדפס ( df [ להזמין ( df$id , פּוֹחֵת = נָכוֹן ) , ] )

כאן, אנו מכריזים תחילה על המשתנה 'df' שבו הפונקציה data.frame() מוגדרת עם שלוש עמודות שונות. לאחר מכן, אנו משתמשים בפונקציה print() שבה אנו מדפיסים הודעה כדי לציין שה-DataFrame הולך להיות ממוין בסדר יורד בהתבסס על העמודה 'id'. לאחר מכן, אנו פורסים שוב את הפונקציה print() כדי לבצע את פעולת המיון ולהדפיס את התוצאות הללו. בתוך הפונקציה print() אנו קוראים לפונקציה 'order' כדי למיין את DataFrame 'df' בהתבסס על העמודה 'קורס'. הארגומנט 'יורד' מוגדר ל-TRUE כדי למיין בסדר יורד.

באיור הבא, העמודה 'מזהה' של ה-DataFrame מסודרת בסדר יורד:



עם זאת, כדי לקבל את תוצאות המיון בסדר עולה, עלינו להגדיר את הארגומנט היורד של הפונקציה order() עם FALSE כפי שמוצג ברשימה הבאה:

הדפס ( 'ממוין בסדר הולך וגדל לפי תעודת זהות' )

הדפס ( df [ להזמין ( df$id , פּוֹחֵת = שֶׁקֶר ) , ] )

שם, אנו מקבלים את הפלט של פעולת המיון של ה-DataFrame לפי העמודה 'id' בסדר עולה.

דוגמה 3: מיון ה-DataFrame באמצעות שיטת Arrange() ב-R

בנוסף, אנו יכולים גם להשתמש בשיטת arrange() כדי למיין DataFrame לפי עמודות. אנחנו יכולים גם למיין בסדר עולה או יורד. קוד R הנתון הבא משתמש בפונקציה arrange() :

סִפְרִיָה ( 'dplyr' )

סטוּדֶנט = נתונים. מִסגֶרֶת (

תְעוּדַת זֶהוּת = ג ( 3 , 5 , 2 , 4 , 1 ) ,

סימנים = ג ( 70 , 90 , 75 , 88 , 92 ) )

הדפס ( 'מיון סדר הגדלת לפי זיהוי' )

הדפס ( לְאַרגֵן ( סטוּדֶנט , תְעוּדַת זֶהוּת ) )

כאן, אנו טוענים את החבילה 'dplyr' של R כדי לגשת לשיטת arrange() למיון. לאחר מכן, יש לנו את הפונקציה data.frame() המכילה שתי עמודות ומגדירה את ה-DataFrame למשתנה 'תלמיד'. לאחר מכן, אנו פורסים את הפונקציה arrange() מחבילת 'dplyr' בפונקציה print() כדי למיין את ה-DataFrame הנתון. הפונקציה arrange() לוקחת את ה-'student' DataFrame כארגומנט הראשון שלה, ואחריו את ה-'Id' של העמודות למיין. הפונקציה print() בסופו של דבר מדפיסה את ה-DataFrame הממוין לקונסולה.

אנו יכולים לראות היכן ממוינת העמודה 'מזהה' ברצף בפלט הבא:

דוגמה 4: מיון ה-DataFrame לפי תאריך ב-R

ניתן למיין את ה-DataFrame ב-R גם לפי ערכי התאריך. לשם כך, יש לציין את הפונקציה הממוינת עם הפונקציה as.date() כדי לעצב את התאריכים.

תאריך אירוע = נתונים. מִסגֶרֶת ( מִקרֶה = ג ( '3/4/2023' , '2/2/2023' ,

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

חיובים = ג ( 3100 , 2200 , 1000 , 2900 ) )

תאריך אירוע [ להזמין ( כפי ש . תַאֲרִיך ( event_date$event , פוּרמָט = '%d/%m/%Y' ) ) , ]

כאן, יש לנו DataFrame 'event_date' המכילה את העמודה 'event' עם מחרוזות התאריך בפורמט 'month/day/year'. עלינו למיין את מחרוזות התאריכים האלה בסדר עולה. אנו משתמשים בפונקציה order() שממיינת את ה-DataFrame לפי עמודת 'אירוע' בסדר עולה. אנו משיגים זאת על ידי המרת מחרוזות התאריך בעמודה 'אירוע' לתאריכים בפועל באמצעות הפונקציה 'as.Date' וציון הפורמט של מחרוזות התאריך באמצעות הפרמטר 'פורמט'.

לפיכך, אנו מייצגים את הנתונים הממוינים לפי עמודת התאריך 'אירוע' בסדר עולה.

דוגמה 5: מיון ה-DataFrame באמצעות שיטת Setorder() ב-R

באופן דומה, setorder() הוא גם שיטה נוספת למיין את ה-DataFrame. זה ממיין את ה-DataFrame על ידי נטילת הארגומנט בדיוק כמו שיטת arrange() . קוד R עבור שיטת setorder() ניתן באופן הבא:

סִפְרִיָה ( 'טבלת נתונים' )

ד1 = נתונים. מִסגֶרֶת ( מספר הזמנה = ג ( 1 , 4 , 2 , 5 , 3 ) ,

הזמן פריט = ג ( 'תפוח עץ' , 'תפוז' , 'קיווי' , 'מנגו' , 'בננה' ) )

הדפס ( לקבוע סדר ( ד1 , הזמן פריט ) )

כאן, אנו מגדירים תחילה את ספריית data.table מכיוון שה-setorder() הוא הפונקציה של החבילה הזו. לאחר מכן, אנו משתמשים בפונקציה data.frame() כדי ליצור את ה-DataFrame. ה-DataFrame מצוין עם שתי עמודות בלבד שבהן אנו משתמשים כדי למיין. לאחר מכן, אנו מגדירים את הפונקציה setorder() בתוך הפונקציה print(). הפונקציה setorder() לוקחת את 'd1' DataFrame כפרמטר הראשון ואת העמודה 'orderId' כפרמטר השני שלפיו ממוין ה-DataFrame. הפונקציה 'setorder' מסדרת מחדש את השורות של טבלת הנתונים בסדר עולה על סמך הערכים בעמודה 'orderId'.

DataFrame הממוין הוא הפלט בקונסולה הבאה של R:

דוגמה 6: מיון ה-DataFrame באמצעות שיטת Row.Names() ב-R

השיטה row.names() היא גם דרך למיין את ה-DataFrame ב-R. ה-row.names() ממיין את ה-DataFrames לפי השורה שצוינה.

df < - נתונים. מִסגֶרֶת ( קְבוּצָה = ג ( 'איקס' , 'איקס' , 'ו' , 'ו' , 'עם' ) ,

ציון = ג ( 91 , 80 , 86 , 83 , 95 ) )

שׁוּרָה. שמות ( df ) < - ג ( 'א' , 'ד' , 'ג' , 'ו' , 'ב' )

df [ להזמין ( שׁוּרָה. שמות ( df ) ) , ]

כאן, הפונקציה data.frame() נוצרת בתוך המשתנה 'df' שבו העמודות מצוינות עם הערכים. לאחר מכן, שמות השורות של DataFrame מצוינים באמצעות הפונקציה row.names() . לאחר מכן, אנו קוראים לפונקציה order() כדי למיין את ה-DataFrame לפי שמות שורות. הפונקציה order() מחזירה את המדדים של השורות הממוינות המשמשות לארגון מחדש של השורות של ה-DataFrame.

הפלט מציג את ה-DataFrame הממוין לפי שורות בסדר אלפביתי:

סיכום

ראינו את הפונקציות השונות למיין את ה-DataFrames ב-R. לכל אחת מהשיטות יש יתרון וצריכה את פעולת המיון. יכולות להיות שיטות או דרכים נוספות למיין את ה-DataFrame בשפת R אבל השיטות order(), arrange() ו-setorder() הן החשובות והקלות ביותר לשימוש למיון.