كيفية فرز إطار البيانات حسب التاريخ في لغة r (مع أمثلة)


هناك طريقتان بسيطتان لفرز إطار البيانات حسب التاريخ في R:

الطريقة الأولى: أمر المستخدم () من قاعدة R

 #sort from least recent to most recent
df[ order ( as.Date (df$date, format=" %m/%d/%Y ")),]

#sort from most recent to least recent
df[ rev ( order ( as.Date (df$date, format=" %m/%d/%Y "))),]

الطريقة الثانية: استخدم وظائف حزمتي lubridate و dplyr

 library (lubridate)
library (dplyr)

#sort from least recent to most recent 
df %>% arrange ( mdy (df$date))

#sort from most recent to least recent
df %>% arrange ( desc ( mdy (df$date)))

يوضح هذا البرنامج التعليمي مثالاً لكيفية استخدام كل من هذه الطرق عمليًا.

الطريقة الأولى: استخدام الأمر () من قاعدة R

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

 #create and view data frame
df <- data.frame(date=c('10/30/2021', '11/18/2021', '11/13/2021', '11/19/2021'),
                 sales=c(3, 15, 14, 9))
df

        dirty dates
1 10/30/2021 3
2 11/18/2021 15
3 11/13/2021 14
4 11/19/2021 9

#sort from least recent to most recent
df[ order ( as.Date (df$date, format=" %m/%d/%Y ")),]

        dirty dates
1 10/30/2021 3
3 11/13/2021 14
2 11/18/2021 15
4 11/19/2021 9
#sort from most recent to least recent
df[ rev ( order ( as.Date (df$date, format=" %m/%d/%Y "))),]

        dirty date
4 11/19/2021 9
2 11/18/2021 15
3 11/13/2021 14
1 10/30/2021 3

الطريقة الثانية: استخدام Lubridate وDplyr

الطريقة الأسرع لفرز إطار البيانات حسب متغير التاريخ هي استخدام الوظائف الموجودة في حزمتي lubridate وdplyr. يوضح الكود التالي كيفية استخدام هذه الوظائف عمليًا:

 #create and view data frame
df <- data.frame(date=c('10/30/2021', '11/18/2021', '11/13/2021', '11/19/2021'),
                 sales=c(3, 15, 14, 9))
df

        dirty date
1 10/30/2021 3
2 11/18/2021 15
3 11/13/2021 14
4 11/19/2021 9

#sort from least recent to most recent
df %>% arrange ( mdy (df$date))

        dirty date
1 10/30/2021 3
2 11/13/2021 14
3 11/18/2021 15
4 11/19/2021 9

#sort from most recent to least recent
df %>% arrange ( desc ( mdy (df$date)))

        dirty date
1 11/19/2021 9
2 11/18/2021 15
3 11/13/2021 14
4 10/30/2021 3

لاحظ أننا استخدمنا lubridate لتحديد التاريخ بتنسيق mdy() ، ولكن يمكنك الرجوع إلى ورقة الغش هذه لرؤية تنسيقات التاريخ الأخرى إذا كان التاريخ بتنسيق مختلف.

مصادر إضافية

كيفية استخراج السنة من التاريخ في R
كيفية تجميع البيانات اليومية إلى بيانات شهرية وسنوية في R
كيفية ترتيب الخطوط في R

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *