-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmts_filterDate.Rd
84 lines (72 loc) · 2.2 KB
/
mts_filterDate.Rd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/mts_filterDate.R
\name{mts_filterDate}
\alias{mts_filterDate}
\title{Date filtering for \emph{mts} time series objects}
\usage{
mts_filterDate(
mts = NULL,
startdate = NULL,
enddate = NULL,
timezone = NULL,
unit = "sec",
ceilingStart = FALSE,
ceilingEnd = FALSE
)
}
\arguments{
\item{mts}{\emph{mts} object.}
\item{startdate}{Desired start date (ISO 8601).}
\item{enddate}{Desired end date (ISO 8601).}
\item{timezone}{Olson timezone used to interpret dates.}
\item{unit}{Units used to determine time at end-of-day.}
\item{ceilingStart}{Logical instruction to apply
\code{\link[lubridate]{ceiling_date}} to the \code{startdate} rather than
\code{\link[lubridate]{floor_date}}.}
\item{ceilingEnd}{Logical instruction to apply
\code{\link[lubridate]{ceiling_date}} to the \code{enddate} rather than
\code{\link[lubridate]{floor_date}}.}
}
\value{
A subset of the incoming \emph{mts} time series object.
(A list with \code{meta} and \code{data} dataframes.)
}
\description{
Subsets an \emph{mts} object by date. This function
always filters to day-boundaries. For sub-day filtering, use
\code{mts_setTimeAxis()}.
Dates can be anything that is understood by \code{MazamaCoreUtils::parseDatetime()}
including either of the following recommended formats:
\itemize{
\item{\code{"YYYYmmdd"}}
\item{\code{"YYYY-mm-dd"}}
}
Timezone determination precedence assumes that if you are passing in
\code{POSIXct} values then you know what you are doing:
\enumerate{
\item{get timezone from \code{startdate} if it is \code{POSIXct}}
\item{use passed in \code{timezone}}
\item{get timezone from \code{mts}}
}
}
\note{
The returned data will run from the beginning of \code{startdate} until
the \strong{beginning} of \code{enddate} -- \emph{i.e.} no values associated
with \code{enddate} will be returned. The exception being when
\code{enddate} is less than 24 hours after \code{startdate}. In that case, a
single day is returned.
}
\examples{
library(MazamaTimeSeries)
example_mts \%>\%
mts_filterDate(
startdate = 20190703,
enddate = 20190706
) \%>\%
mts_extractData() \%>\%
dplyr::pull(datetime) \%>\%
range()
}
\seealso{
\link{mts_setTimeAxis}
}