كيفية استخراج السنة من التاريخ في r (مع أمثلة)
هناك طريقتان لاستخراج السنة بسرعة من تاريخ في R:
الطريقة الأولى: استخدام التنسيق ()
df$year <- format( as.Date (df$date, format=" %d/%m/%Y ")," %Y ")
الطريقة الثانية: استخدم حزمة التشحيم
library (lubridate) df$year <- year( mdy (df$date))
يوضح هذا البرنامج التعليمي مثالاً لكيفية استخدام كل من هذه الطرق عمليًا.
الطريقة الأولى: استخراج السنة من التاريخ باستخدام التنسيق ()
يوضح التعليمة البرمجية التالية كيفية استخراج السنة من تاريخ باستخدام الدالة format() مع الوسيطة “%Y” :
#create data frame df <- data.frame(date=c("01/01/2021", "01/04/2021" , "01/09/2021"), sales=c(34, 36, 44)) #view data frame df dirty dates 1 01/01/2021 34 2 01/04/2021 36 3 01/09/2021 44 #create new variable that contains year df$year <- format( as.Date (df$date, format=" %d/%m/%Y ")," %Y ") #view new data frame df date sales year 1 01/01/2021 34 2021 2 01/04/2021 36 2021 3 01/09/2021 44 2021
لاحظ أن وظيفة format() هذه تعمل مع مجموعة متنوعة من تنسيقات التاريخ. تحتاج ببساطة إلى تحديد التنسيق:
#create data frame df <- data.frame(date=c("2021-01-01", "2021-01-04", "2021-01-09"), sales=c(34, 36, 44)) #view data frame df dirty date 1 2021-01-01 34 2 2021-01-04 36 3 2021-01-09 44 #create new variable that contains year df$year <- format( as.Date (df$date, format=" %Y-%m-%d ")," %Y ") #view new data frame df date sales year 1 01/01/2021 34 2021 2 01/04/2021 36 2021 3 01/09/2021 44 2021
الطريقة الثانية: استخراج السنة من التاريخ باستخدام Lubridate
يمكننا أيضًا استخدام الوظائف الموجودة في حزمة lubridate لاستخراج السنة بسرعة من التاريخ:
library (lubridate) #create data frame df <- data.frame(date=c("01/01/2021", "01/04/2021" , "01/09/2021"), sales=c(34, 36, 44)) #view data frame df dirty dates 1 01/01/2021 34 2 01/04/2021 36 3 01/09/2021 44 #create new variable that contains year df$year <- year( mdy (df$date)) #view new data frame df date sales year 1 01/01/2021 34 2021 2 01/04/2021 36 2021 3 01/09/2021 44 2021
يعمل Lubridate أيضًا مع مجموعة متنوعة من تنسيقات التاريخ. تحتاج ببساطة إلى تحديد التنسيق:
#create data frame df <- data.frame(date=c("2021-01-01", "2021-01-04", "2021-01-09"), sales=c(34, 36, 44)) #view data frame df dirty dates 1 2021-01-01 34 2 2021-01-04 36 3 2021-01-09 44 #create new variable that contains year df$year <- year( ymd (df$date)) #view new data frame df date sales year 1 01/01/2021 34 2021 2 01/04/2021 36 2021 3 01/09/2021 44 2021
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في R:
كيفية التكرار على أسماء الأعمدة في R
كيفية إزالة القيم المتطرفة من أعمدة متعددة في R