1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Práce s daty a časy v R

Connected

Cvičení

Záludnost měsíců

Co by mělo vrátit ymd("2018-01-31") + months(1)? Bude výsledek 30, 31, nebo 28 dní dopředu? Zkus to. Obecně platí, že lubridate vrátí stejný den v měsíci v následujícím měsíci – jenže 31. února neexistuje, takže lubridate vrátí chybějící hodnotu NA.

Existují alternativní operátory sčítání a odčítání: %m+% a %m-%, které se chovají jinak. Místo vrácení NA pro neexistující datum se posunou zpět na poslední existující den.

Jejich chování prozkoumáš tak, že se pokusíš vygenerovat sekvenci posledních dnů každého měsíce v tomto roce.

Pokyny

100 XP

V pracovním prostoru máš připravený objekt jan_31 s datem 31. ledna tohoto roku.

  • Začni tím, že vytvoříš sekvenci period od 1 do 12 měsíců.
  • Přičti month_seq k jan_31. Všimni si, co se stane s měsíci, ve kterých 31. den neexistuje.
  • Přičti month_seq k jan_31 pomocí operátoru %m+%.
  • Zkus odečíst month_seq od jan_31 pomocí operátoru %m-%.