كيفية رسم سلسلة زمنية في لغة r (مع أمثلة)


في كثير من الأحيان، قد ترغب في رسم سلسلة زمنية في R لتصور كيفية تغير القيم في السلسلة الزمنية مع مرور الوقت.

يشرح هذا البرنامج التعليمي كيفية القيام بذلك بسرعة باستخدام مكتبة تصور البيانات ggplot2 .

رسم السلاسل الزمنية الأساسية في R

لنفترض أن لدينا مجموعة البيانات التالية في R:

 #create dataset
df <- data.frame(date = as . Date (" 2021-01-01 ") - 0:99,
                 sales = runif (100, 10, 500) + seq (50, 149)^2)

#view first six rows
head(df)

        dirty date
1 2021-01-01 2845.506
2 2020-12-31 2837.849
3 2020-12-30 3115.517
4 2020-12-29 2847.161
5 2020-12-28 3374.619
6 2020-12-27 3182.005

يمكننا استخدام الكود التالي لإنشاء مخطط سلسلة زمنية أساسية لمجموعة البيانات هذه باستخدام ggplot2:

 library (ggplot2)

#create time series plot
p <- ggplot(df, aes (x=date, y=sales)) +
       geom_line()

#display time series plot
p

رسم السلاسل الزمنية الأساسية في R

تنسيق التواريخ على المحور X

يمكننا استخدام الدالة scale_x_date() * لتنسيق التواريخ المعروضة على طول المحور السيني للمخطط. تأخذ هذه الوظيفة الوسائط التالية:

  • %d: يوم كرقم بين 0 و31
  • %a: يوم عمل مختصر (على سبيل المثال “الثلاثاء”)
  • %A: يوم غير مختصر من الأسبوع (على سبيل المثال “الثلاثاء”)
  • %m : الأشهر بين 0 و 12
  • %b: الشهر المختصر (على سبيل المثال “يناير”)
  • %B: شهر غير مختصر (على سبيل المثال “يناير”)
  • %y: سنة مكونة من رقمين (على سبيل المثال “21”)
  • %Y: سنة مكونة من 4 أرقام (على سبيل المثال “2021”)
  • %W: أسبوع السنة بين 0 و52

* لكي تعمل هذه الوظيفة، يجب أن يكون متغير المحور السيني متغير تاريخ. إذا لم يكن كذلك بالفعل، فيمكنك تحويله بسرعة إلى واحد باستخدام as.Date( variable_name) .

يوضح الكود التالي كيفية استخدام أحد هذه التنسيقات عمليًا:

 p + scale_x_date ( date_labels = " %b %Y ") 

رسم السلاسل الزمنية بتواريخ مخصصة في R

يمكنك أيضًا إضافة فواصل متكررة (أو غير متكررة) على طول المحور السيني باستخدام وسيطة date_breaks . على سبيل المثال، يمكننا عرض التواريخ كل أسبوعين على طول المحور السيني:

 p + scale_x_date ( date_breaks = " 2 week ") 

سلسلة زمنية مع قفزات التاريخ على المحور السيني في R

يمكننا أيضًا تحريف تسميات المحور السيني بسهولة باستخدام الوسيطة التالية:

 p + theme ( axis.text.x = element_text (angle= 50 , hjust= 1 )) 

تسميات محور X المائل في ggplot2

أخيرًا، يمكننا تغيير السمة وتسميات المحاور والعنوان لجعل مؤامرة السلسلة الزمنية أكثر جاذبية من الناحية المرئية:

 p <- ggplot(df, aes (x=date, y=sales)) +
       geom_line( color =" turquoise4 ") +
       theme_minimal() + 
       labs(x="", y=" Sales ", title=" Total Sales (Past 100 Days) ") +
       theme( plot.title = element_text (hjust=0.5, size=20, face=" bold "))

p 

سلسلة زمنية مع سمة ggplot مخصصة في R

مصادر إضافية

دليل كامل لأفضل موضوعات ggplot2
الدليل الكامل لعناوين ggplot2
كيفية إنشاء قطع أرض جنبًا إلى جنب في ggplot2

Add a Comment

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