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
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 ")
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 ")
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 ))
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
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