Indexing operators for partial_time objects
Source:R/class_partial_time_extract.R
parttime_extract.RdIndexing operators repurpose matrix indexing for indexing into parttime
fields. When only i is provided, the parttime vector is sliced.
Whenever j is provided, the individual fields are indexed out of an
internal matrix.
Usage
# S3 method for partial_time
[(x, i, j, ...)
# S3 method for partial_time
[[(x, i, j, ..., value)
# S3 method for partial_time
[(x, i, j, ..., reflow = TRUE) <- value
# S3 method for partial_time
[[(x, i, ...) <- valueArguments
- x
an object from which to extract element(s) or in which to replace element(s).
- i
indicies specifying elements to extract or replace. For further details, see Extract.
- j
column indicies specifying element(s) to extract or replace. For further details, see Extract.
- ...
arguments unused
- value
typically an array-like R object of a similar class as
x.- reflow
a
logicalindicating whether modified data fields should be reflowed, cascading range overflow. Setting toFALSEpermits invalid dates, but saves on compute. Generally, it should only be disabled when multiple calculations are performed back-to-back and the dates only need to be reflowed once at the end of the calculation.
Value
A numeric matrix subset of the partial_time internal matrix
representation. See the Details section of parttime for further
information.
A numeric vector of the provided parttime field
the new value of the assigned partial_time object after
modification.
A partial_time vector after modification
Examples
x <- as.parttime(c("2019", "2019-02", "2019-02-02"))
# <partial_time<YMDhms+tz>[3]>
# [1] "2019" "2019-02" "2019-02-02"
x[, c(1, 3)]
#> year day
#> 2019 2019 NA
#> 2019-02 2019 NA
#> 2019-02-02 2019 2
# year day
# 2019 2019 NA
# 2019-02 2019 NA
# 2019-02-02 2019 2
x[, "month"]
#> 2019 2019-02 2019-02-02
#> NA 2 2
# 2019 2019-02 2019-02-02
# NA 2 2
x[, "month", drop = FALSE]
#> month
#> 2019 NA
#> 2019-02 2
#> 2019-02-02 2
# month
# 2019 NA
# 2019-02 2
# 2019-02-02 2
x <- as.parttime(c("2019", "2019-02", "2019-02-02"))
# <partial_time<YMDhms+tz>[3]>
# [1] "2019" "2019-02" "2019-02-02"
x[c(1, 3)] <- as.parttime(c("2000", "1999"))
# <partial_time<YMDhms+tz>[3]>
# [1] "2000" "2019-02" "1999"
x[,"month"] <- 3
# <partial_time<YMDhms+tz>[3]>
# [1] "2000-03" "2019-03" "1999-03"