Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2022-rstudio-conf-its-about-time

Davis Vaughan
July 05, 2022
330

Β 2022-rstudio-conf-its-about-time

Davis Vaughan

July 05, 2022
Tweet

Transcript

  1. It’s about


    time
    Davis Vaughan


    July 2022

    View Slide

  2. View Slide

  3. clock


    is not replacing


    lubridate

    View Slide

  4. πŸ”— clock.r-lib.org
    Safety

    View Slide

  5. πŸ”— clock.r-lib.org
    Calendars
    Safety

    View Slide

  6. πŸ”— clock.r-lib.org
    2022-01-30
    Calendars
    Safety

    View Slide

  7. View Slide

  8. πŸ”— clock.r-lib.org
    Jan
    27 28 29 30 31
    Feb Mar
    1 2
    Feb
    27 28 1 2

    View Slide

  9. πŸ”— clock.r-lib.org
    Jan
    27 28 29 30 31
    Feb Mar
    1 2
    Feb
    Add 1 month?
    ?
    27 28 1 2

    View Slide

  10. πŸ”— clock.r-lib.org
    "2022-01-30" + months(1) = NA
    Jan
    27 28 29 30 31
    Feb Mar
    1 2
    Feb
    Add 1 month?
    ?
    27 28 1 2

    View Slide

  11. πŸ”— clock.r-lib.org
    add_months("2022-01-30", 1)


    #> ! Invalid date found at location 1.


    #> β„Ή Resolve invalid date issues by


    #> specifying the `invalid` argument.
    Jan
    27 28 29 30 31
    Feb Mar
    1 2
    Feb
    Add 1 month?
    ?
    27 28 1 2

    View Slide

  12. πŸ”— clock.r-lib.org
    add_months("2022-01-30", 1, invalid = "previous") =


    "2022-02-28"
    Jan
    27 28 29 30 31
    Feb Mar
    1 2
    Feb
    Add 1 month?
    27 28 1 2

    View Slide

  13. πŸ”— clock.r-lib.org
    add_months("2022-01-30", 1, invalid = "next") =


    "2022-03-01"
    Jan
    27 28 29 30 31
    Feb Mar
    1 2
    Feb
    Add 1 month?
    27 28 1 2

    View Slide

  14. πŸ”— clock.r-lib.org
    add_months("2022-01-30", 1, invalid = "NA") =


    NA
    Jan
    27 28 29 30 31
    Feb Mar
    1 2
    Feb
    Add 1 month?
    27 28 1 2

    View Slide

  15. πŸ”— clock.r-lib.org
    "2022-01-30"


    year_month_day

    View Slide

  16. πŸ”— clock.r-lib.org
    "2022-030"


    year_day
    "2022-01-30"


    year_month_day

    View Slide

  17. πŸ”— clock.r-lib.org
    "2022-030"


    year_day
    "2022-01-Sun[5]"


    year_month_weekday
    "2022-Q1-30"


    year_quarter_day
    "2022-W04-7"


    iso_year_week_day
    "2022-01-30"


    year_month_day

    View Slide

  18. πŸ”— clock.r-lib.org
    "2022-030"


    year_day
    "2022-01-Sun[5]"


    year_month_weekday
    "2022-Q1-30"


    year_quarter_day
    "2022-W04-7"


    iso_year_week_day
    "2022-01-30"


    year_month_day

    View Slide

  19. πŸ”— clock.r-lib.org
    "2022-030"


    year_day
    "2022-01-Sun[5]"


    year_month_weekday
    "2022-Q1-30"


    year_quarter_day
    "2022-W04-7"


    iso_year_week_day
    "2022-01-30"


    year_month_day
    Date
    POSIXct

    View Slide

  20. πŸ”— clock.r-lib.org
    "2022-030"


    year_day
    "2022-01-Sun[5]"


    year_month_weekday
    "2022-Q1-30"


    year_quarter_day
    "2022-W04-7"


    iso_year_week_day
    "2022-01-30"


    year_month_day
    Date
    POSIXct
    "2022-01"


    year_month_day
    "2022-01-30"


    year_month_day

    View Slide

  21. πŸ”— clock.r-lib.org
    Compatibility
    slider
    ivs
    Rolling average, looking back 3 quarters
    Intervals, i.e. [2022-01, 2022-07)

    View Slide

  22. lubridate is NOT going anywhere


    But try clock for:


    - Enhanced safety


    - Powerful types
    clock.r-lib.org

    View Slide