Hal yang rumit tentang bulan
Apa yang akan dihasilkan oleh ymd("2018-01-31") + months(1)? Haruskah hasilnya 30, 31, atau 28 hari ke depan? Cobalah. Secara umum, lubridate mengembalikan hari dalam bulan yang sama pada bulan berikutnya, tetapi karena tanggal 31 Februari tidak ada, lubridate mengembalikan nilai hilang, NA.
Ada operator penjumlahan dan pengurangan alternatif: %m+% dan %m-% yang berperilaku berbeda. Alih-alih mengembalikan NA untuk tanggal yang tidak ada, operator ini akan memundurkan ke tanggal terakhir yang ada.
Anda akan mengeksplorasi perilakunya dengan mencoba membuat deret untuk hari terakhir di setiap bulan tahun ini.
Latihan ini adalah bagian dari kursus
Bekerja dengan Tanggal dan Waktu di R
Petunjuk latihan
Kami telah menyiapkan jan_31, tanggal untuk 31 Januari tahun ini, di workspace Anda.
- Mulailah dengan membuat deret 1 hingga 12 periode berdurasi 1 bulan.
- Tambahkan
month_seqkejan_31. Perhatikan apa yang terjadi pada bulan yang tidak memiliki tanggal 31 - Sekarang tambahkan
month_seqkejan_31menggunakan operator%m+%. - Cobalah mengurangkan
month_seqdarijan_31menggunakan operator%m-%.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# A sequence of 1 to 12 periods of 1 month
month_seq <- ___
# Add 1 to 12 months to jan_31
___ + ___
# Replace + with %m+%
___ ___ ___
# Replace + with %m-%
___ ___ ___