| resolve_tendency | R Documentation |
These functions resolve messydates by their central tendency.
While the functions mean(), median(), and modal() expand all
elements of the vector into one combined set of dates and summarise it
to a single value (matching the usual behaviour of these generics),
the v*() versions resolve each element separately and so return a
vector of the same length as the input.
## S3 method for class 'mdate'
median(..., na.rm = TRUE)
vmedian(..., na.rm = TRUE)
## S3 method for class 'mdate'
vmedian(..., na.rm = TRUE)
## S3 method for class 'mdate'
mean(..., trim = 0, na.rm = TRUE)
vmean(..., na.rm = TRUE)
## S3 method for class 'mdate'
vmean(..., trim = 0, na.rm = TRUE)
modal(..., na.rm = TRUE)
## S3 method for class 'mdate'
modal(..., na.rm = TRUE)
vmodal(..., na.rm = TRUE)
## S3 method for class 'mdate'
vmodal(..., na.rm = TRUE)
random(..., na.rm = TRUE)
## S3 method for class 'mdate'
random(..., na.rm = TRUE)
vrandom(..., na.rm = TRUE)
## S3 method for class 'mdate'
vrandom(..., na.rm = TRUE)
... |
a mdate object |
na.rm |
Should NAs be removed? FALSE by default. |
trim |
the fraction (0 to 0.5) of observations to be trimmed from each end of x before the mean is computed. Values of trim outside that range are taken as the nearest endpoint. |
All of these functions work by calling expand() to enumerate the
dates or date-times consistent with each messy value, then summarising
that expanded set. For median() and mean(), an even number of
expanded values is resolved by averaging the two middle values (via
POSIXct when a time of day is present, or Date otherwise); an odd
number simply returns the middle value.
Averaging across the BCE/CE boundary, or between two BCE dates, is not
currently supported: median() falls back to the earlier of the two
middle values in that case, and mean()/vmean() may be unreliable for
solely negative-year inputs (a documented limitation, not a supported
feature).
d <- as_messydate(c("2008-03-25", "?2012-02-27", "2001-01?", "2001~",
"2001-01-01..2001-02-02", "{2001-01-01,2001-02-02}",
"{2001-01,2001-02-02}", "2008-XX-31", "-0050-01-01"))
d
# the time of day is honoured when averaging precise date-times
r <- as_messydate(c("2012-06-01 09:00", "2012-06-01 17:00"))
median(r)
mean(r)
median(d)
vmedian(d)
mean(d)
vmean(d)
modal(d)
vmodal(d)
random(d)
vrandom(d)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.