Cara merencanakan deret waktu di r (dengan contoh)
Seringkali, Anda mungkin ingin memplot deret waktu di R untuk memvisualisasikan bagaimana nilai-nilai dalam deret waktu berubah seiring waktu.
Tutorial ini menjelaskan cara melakukannya dengan cepat menggunakan pustaka visualisasi data ggplot2 .
Plot deret waktu dasar di R
Misalkan kita memiliki kumpulan data berikut di 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
Kita dapat menggunakan kode berikut untuk membuat plot deret waktu dasar untuk kumpulan data ini menggunakan ggplot2:
library (ggplot2) #create time series plot p <- ggplot(df, aes (x=date, y=sales)) + geom_line() #display time series plot p
Format tanggal pada sumbu X
Kita dapat menggunakan fungsi scale_x_date() * untuk memformat tanggal yang ditampilkan sepanjang sumbu x plot. Fungsi ini mengambil argumen berikut:
- %d: hari sebagai angka antara 0 dan 31
- %a: hari kerja yang disingkat (misalnya “Selasa”)
- %A: hari yang tidak disingkat dalam seminggu (misalnya “Selasa”)
- %m : Bulan antara 0 dan 12
- %b: bulan disingkat (misalnya “Jan”)
- %B: bulan tidak disingkat (misalnya “Januari”)
- %y: 2 digit tahun (misalnya “21”)
- %Y: 4 digit tahun (misalnya “2021”)
- %W: Minggu dalam setahun antara 0 dan 52
* Agar fungsi ini berfungsi, variabel sumbu x harus berupa variabel tanggal. Jika belum, Anda dapat dengan cepat mengonversinya menggunakan as.Date( variabel_name) .
Kode berikut menunjukkan cara menggunakan salah satu format ini dalam praktiknya:
p + scale_x_date ( date_labels = " %b %Y ")
Anda juga dapat menambahkan jeda yang lebih sering (atau jarang) di sepanjang sumbu x menggunakan argumen date_breaks . Misalnya, kita dapat menampilkan tanggal setiap dua minggu di sepanjang sumbu x:
p + scale_x_date ( date_breaks = " 2 week ")
Kita juga dapat dengan mudah mengubah label sumbu x menggunakan argumen berikut:
p + theme ( axis.text.x = element_text (angle= 50 , hjust= 1 ))
Terakhir, kita dapat mengubah tema, label sumbu, dan judul untuk membuat plot deret waktu lebih menarik secara visual:
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
Sumber daya tambahan
Panduan lengkap tema ggplot2 terbaik
Panduan lengkap untuk judul ggplot2
Cara membuat plot berdampingan di ggplot2