These functions coerce objects of mdate
class to
common date classes such as Date
, POSIXct
, and POSIXlt
.
Since mdate
objects can hold multiple individual dates,
however, an additional function must be passed as an argument
so that these functions know how to coerce resolve multiple dates
into a single date.
For example, one might wish to use the earliest possible date
in any ranges of dates (min
), the latest possible date (max
),
some notion of a central tendency (mean
, median
, or modal
),
or even a random
selection from among the candidate dates.
These functions then, building on expand()
and the resolve functions,
are particularly useful in converting back out of the mdate
class
for use with existing methods and models,
especially for checking the robustness of results.
# S3 method for mdate
as.Date(x, ..., FUN)
# S3 method for mdate
as.POSIXct(x, ..., FUN)
# S3 method for mdate
as.POSIXlt(x, ..., FUN)
A date object of Date
, POSIXct
, or POSIXlt
class
as.Date(as_messydate("2012-01"), min)
#> [1] "2012-01-01"
as.Date(as_messydate("2012-01-01"), mean)
#> [1] "2012-01-01"
as.Date(as_messydate("2012-01"), max)
#> [1] "2012-01-31"
as.Date(as_messydate("2012-01"), median)
#> [1] "2012-01-16"
as.Date(as_messydate("2012-01"), modal)
#> [1] "2012-01-01"
as.Date(as_messydate("2012-01"), random)
#> [1] "2012-01-13"
as.Date(as_messydate("1000 BC"), max)
#> [1] "-1000-12-31"
as.Date(as_messydate("1000 BC"), mean)
#> [1] "-1000-07-02"
as.Date(as_messydate("1000 BC"), median)
#> [1] "-1000-07-02"
as.Date(as_messydate(c("-1000", "2020")), min)
#> [1] "-1000-01-01" "2020-01-01"