R: Sequences: time points

seq.clock_time_point {clock} | R Documentation

## Sequences: time points

### Description

This is a time point method for the `seq()` generic. It works for sys-time and naive-time vectors.

Sequences can be generated for all valid time point precisions (daily through nanosecond).

When calling `seq()`, exactly two of the following must be specified:

- `to`

- `by`

- Either `length.out` or `along.with`

### Usage

    ## S3 method for class 'clock_time_point'
    seq(from, to = NULL, by = NULL, length.out = NULL, along.with = NULL, ...)

### Arguments

`from` | `[clock_sys_time(1) / clock_naive_time(1)]` A time point to start the sequence from. `from` is always included in the result.
`to` | `[clock_sys_time(1) / clock_naive_time(1) / NULL]` A time point to stop the sequence at. `to` is cast to the type of `from`. `to` is only included in the result if the resulting sequence divides the distance between `from` and `to` exactly.
`by` | `[integer(1) / clock_duration(1) / NULL]` The unit to increment the sequence by. If `to < from`, then `by` must be positive. If `to > from`, then `by` must be negative. If `by` is an integer, it is transformed into a duration with the precision of `from`. If `by` is a duration, it is cast to the type of `from`.
`length.out` | `[positive integer(1) / NULL]` The length of the resulting sequence. If specified, `along.with` must be `NULL`.
`along.with` | `[vector / NULL]` A vector who's length determines the length of the resulting sequence. Equivalent to `length.out = vec_size(along.with)`. If specified, `length.out` must be `NULL`.
`...` | These dots are for future extensions and must be empty.

### Value

A sequence with the type of `from`.

### Examples

    # Daily sequence
    seq(
      as_naive_time(year_month_day(2019, 1, 1)),
      as_naive_time(year_month_day(2019, 2, 4)),
      by = 5
    )

    # Minutely sequence using minute precision naive-time
    x <- as_naive_time(year_month_day(2019, 1, 2, 3, 3))
    x

    seq(x, by = 4, length.out = 10)

    # You can use larger step sizes by using a duration-based `by`
    seq(x, by = duration_days(1), length.out = 5)

    # Nanosecond sequence
    from <- as_naive_time(year_month_day(2019, 1, 1))
    from <- time_point_cast(from, "nanosecond")
    to <- from + 100
    seq(from, to, by = 10)

[Package clock version 0.6.0 Index]