Convert a Date or Date-Time Object to a Factor
cut applied to date-time objects.
"cut"(x, breaks, labels = NULL, start.on.monday = TRUE, right = FALSE, ...)"cut"(x, breaks, labels = NULL, start.on.monday = TRUE, right = FALSE, ...)
- an object inheriting from class
a vector of cut points or number giving the number of
xis to be cut into or an interval specification, one of
"year", optionally preceded by an integer and a space, or followed by
"Date"objects only interval specifications using
labels for the levels of the resulting category. By default,
labels are constructed from the left-hand end of the intervals
(which are included for the default value of
labels = FALSE, simple integer codes are returned instead of a factor.
- logical. If
breaks = "weeks", should the week start on Mondays or Sundays?
- right, ...
- arguments to be passed to or from other methods.
Note that the default for
right differs from the
default method. Using
TRUE will include both ends of the range of dates.
breaks = "quarter" will create intervals of 3 calendar
months, with the intervals beginning on January 1, April 1,
July 1 or October 1 (based upon
min(x)) as appropriate.
A vector of
breaks will be sorted before use:
correspond to the sorted vector.
A factor is returned, unless
labels = FALSEwhich returns the integer level codes.Values which fall outside the range of
breaksare coded as
NA, as are and
## random dates in a 10-week period cut(ISOdate(2001, 1, 1) + 70*86400*stats::runif(100), "weeks") cut(as.Date("2001/1/1") + 70*stats::runif(100), "weeks") # The standards all have midnight as the start of the day, but some # people incorrectly interpret it at the end of the previous day ... tm <- seq(as.POSIXct("2012-06-01 06:00"), by = "6 hours", length.out = 24) aggregate(1:24, list(day = cut(tm, "days")), mean) # and a version with midnight included in the previous day: aggregate(1:24, list(day = cut(tm, "days", right = TRUE)), mean)