Transforming a series of time or datetime to time indexes
Source:R/transform_time_id.R
transform_time_id.Rd
This function transforms a series of time or datetime to time indexes.
Arguments
- obsTime
Date/Datetime/Numeric. A vector of observed time of hot spots. If
timeUnit
is "n",obsTime
needs to be a numeric vector, otherwise, it needs to be in date or datetime format.- timeUnit
Character. The unit of time, one of "s" (seconds), "m"(minutes), "h"(hours), "d"(days) and "n"(numeric).
- timeStep
Numeric (>0). Number of units of
timeUnit
in a time step.
Details
The earliest time is assigned with a time index 1
.
The difference between any other time to the earliest
time is transformed using the timeUnit
and divided
by the timeStep
. These differences are floored to integer and
used as the time indexes.
Examples
# Define obsTime
obsTime <- as.Date(c("2020-01-01",
"2020-01-02",
"2020-01-04"))
# Transform it to time index under different settings
transform_time_id(obsTime, "h", 1)
#>
#> ── "1" time index = 1 hour
#> ✔ Transform observed time → time indexes
#> ℹ 73 time indexes found
#> [1] 1 25 73
transform_time_id(obsTime, "m", 60)
#>
#> ── "1" time index = 60 mins
#> ✔ Transform observed time → time indexes
#> ℹ 73 time indexes found
#> [1] 1 25 73
transform_time_id(obsTime, "s", 3600)
#>
#> ── "1" time index = 3600 secs
#> ✔ Transform observed time → time indexes
#> ℹ 73 time indexes found
#> [1] 1 25 73
# Define numeric obsTime
obsTime <- c(1,
1.5,
4.5,
6)
# Transform it to time index under different settings
transform_time_id(obsTime, "n", 1)
#>
#> ── "1" time index = 1 numeric
#> ✔ Transform observed time → time indexes
#> ℹ 6 time indexes found
#> [1] 1 1 4 6
transform_time_id(obsTime, "n", 1.5)
#>
#> ── "1" time index = 1.5 numeric
#> ✔ Transform observed time → time indexes
#> ℹ 4 time indexes found
#> [1] 1 1 3 4