Clase de date temporale în R

Manipularea datelor de tip serie de timp în R

Harrison Brown

Graduate Researcher in Geography

Clase de dată și oră

  • numeric

    • Întregi, virgulă mobilă etc.
    • 9 august 2022 = 19223
    • Număr de zile de la 1 ian. 1970
  • character

    • Șiruri de text, nume etc.
    • 9 august 2022 = "2022-08-09"
    • 9 august 2022 = "August 9, 2022"
Manipularea datelor de tip serie de timp în R

Clase de dată și oră

  • Date
    • Date calendaristice, zile ale anului
    • 9 august 2022 = "2022-08-09"
start_date <- as_date("2022-08-01")
end_date <- as_date("2022-08-09")

end_date - start_date
Time difference of 8 days
  • POSIXct
    • Date și ore, fuse orare
    • 9 august 2022, ora 16:17 =
      • "2022-08-09 20:17:00 UTC"
start_time <-
  as.POSIXct("2022-08-01 08:57:00 EDT")
end_time <-
  as.POSIXct("2022-08-09 15:30:00 EDT")
end_time - start_time
Time difference of 8.272917 days
Manipularea datelor de tip serie de timp în R

Lubridate

lubridate::as_date()

my_date <- as_date("2022-01-20")

my_date
[1] "2022-01-20"
class(my_date)
[1] "Date"

as_date() față de base::as.Date()

  • Suport mai bun pentru fuse orare
  • Avertismente pentru formate de dată invalide
  • Conversii mai simple din numeric
  • ...
Manipularea datelor de tip serie de timp în R

Testarea claselor de date

class("2022-08-01")
[1] "character"
is.numeric(10494)
[1] TRUE
is.character("April 01, 2003")
[1] TRUE
is.Date(lubridate::today())
[1] TRUE
is.POSIXct(lubridate::now())
[1] TRUE
Manipularea datelor de tip serie de timp în R

Să exersăm!

Manipularea datelor de tip serie de timp în R

Preparing Video For Download...