R'de zaman serisi nasıl çizilir (örneklerle)


Çoğu zaman, zaman serisindeki değerlerin zaman içinde nasıl değiştiğini görselleştirmek için R’de bir zaman serisi çizmek isteyebilirsiniz.

Bu eğitimde, ggplot2 veri görselleştirme kitaplığını kullanarak bunun hızlı bir şekilde nasıl yapılacağı açıklanmaktadır.

R’de temel zaman serisi çizimi

R’de aşağıdaki veri kümesine sahip olduğumuzu varsayalım:

 #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

Bu veri kümesi için ggplot2’yi kullanarak temel bir zaman serisi grafiği oluşturmak için aşağıdaki kodu kullanabiliriz:

 library (ggplot2)

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

#display time series plot
p

R'de temel zaman serisi çizimi

Tarihleri X ekseninde biçimlendirme

Grafiğin x ekseni boyunca görüntülenen tarihleri biçimlendirmek için Scale_x_date() * işlevini kullanabiliriz. Bu işlev aşağıdaki bağımsız değişkenleri alır:

  • %d: 0 ile 31 arasında bir sayı olarak gün
  • %a: haftanın kısaltılmış günü (örneğin “Salı”)
  • %A: haftanın kısaltılmamış günü (örneğin “Salı”)
  • %m : 0 ile 12 arasındaki aylar
  • %b: kısaltılmış ay (örneğin “Ocak”)
  • %B: kısaltılmamış ay (örneğin “Ocak”)
  • %y: 2 basamaklı yıl (örneğin “21”)
  • %Y: 4 basamaklı yıl (örneğin “2021”)
  • %W: Yılın 0 ile 52 arasındaki haftası

* Bu fonksiyonun çalışması için x ekseni değişkeninin bir tarih değişkeni olması gerekir. Henüz değilse, as.Date( değişken_adı) kullanarak onu hızlı bir şekilde bir değişkene dönüştürebilirsiniz.

Aşağıdaki kod, bu formatlardan birinin pratikte nasıl kullanılacağını gösterir:

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

R'de özel tarihlerle zaman serilerinin çizilmesi

Date_breaks bağımsız değişkenini kullanarak x ekseni boyunca daha sık (veya seyrek) kesmeler de ekleyebilirsiniz. Örneğin, tarihleri x ekseni boyunca iki haftada bir görüntüleyebiliriz:

 p + scale_x_date ( date_breaks = " 2 week ") 

R'de x ekseninde tarih atlayan zaman serileri

Ayrıca aşağıdaki argümanı kullanarak x ekseni etiketlerini kolayca eğebiliriz:

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

Ggplot2'de X ekseni etiketlerini eğin

Son olarak, zaman serisi grafiğini görsel olarak daha çekici hale getirmek için temayı, eksen etiketlerini ve başlığı değiştirebiliriz:

 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 

R'de özel ggplot temalı zaman serileri

Ek kaynaklar

En iyi ggplot2 temaları için eksiksiz bir rehber
Ggplot2 başlıklarına ilişkin eksiksiz kılavuz
Ggplot2’de yan yana grafikler nasıl oluşturulur

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir