MulaiMulai sekarang secara gratis

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

Lihat Kursus

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_seq ke jan_31. Perhatikan apa yang terjadi pada bulan yang tidak memiliki tanggal 31
  • Sekarang tambahkan month_seq ke jan_31 menggunakan operator %m+%.
  • Cobalah mengurangkan month_seq dari jan_31 menggunakan 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-%
___ ___ ___
Edit dan Jalankan Kode