year()
to be faster and work on durationsprecision()
precision()
is now a S3 generic, dispatching to precision.mdate()
precision.mdate()
now returns the inverse of the previous measure,
meaning maximising precision makes more sensemreport()
to {manydata}
as.POSIXct.mdate()
and as.POSIXlt.mdate()
validate_messydate()
as.numeric()
to as.double()
to fix S3 dispatchingmin.mdate()
and max.mdate()
for summaries
and vmin.mdate()
and vmax.mdate()
for vector coercionmean.mdate()
, median.mdate()
, and modal.mdate()
for summaries
and vmean.mdate()
, vmedian.mdate()
, and vmodal.mdate()
for vector coercionrandom.mdate()
now in vrandom.mdate()
precision()
calculates precision{tibble}
dependency by just using {dplyr}
{stringr}
to {stringi}
for speedas.numeric.mdate()
and as_messydate.numeric()
for coercing between messydates and numbers (closes #85)seq.mdate()
for creating sequences from one or two messydatesis_bce()
for testing whether dates are from before the common erastri_squish()
helper for trimming white space everywherec.mdate()
so that it will strip class from an mdate
object, as expectedis_uncertain()
and is_approximate()
so that they also recognise %
annotationsmin.mdate()
, max.mdate()
, and modal.mdate()
to avoid using expand()
and consequently run much fastermin.mdate()
, max.mdate()
, modal.mdate()
, mean.mdate()
, median.mdate()
, and random.mdate()
by adding recursive
argument for resolving vectors down to a scalarmessyduration.mdate()
where the minimum of an underspecified later date was usedas_messydate()
where zero padding for early dates was not added correctlymdates_duration
class that introduces methods to annotate a duration or period with representations of its uncertainty<
, >
, <=
, >=
) (thanks @WerthPADOH)%l%
%le%
, %g%
, %ge%
, %><%
, %>=<%
)mdate()
for as_messydate()
%intersect%
and %union%
)is_element()
by is_subset()
for clarity and consistencymake_messydates()
function to also construct ranges of datescontract()
function checks if 'mdate' object has been expanded as_messydate()
functioncontract()
function to 'expand' dates before 'contracting' themexpand()
function to handle, and properly convert, date objects that are not 'mdate'as_messydates()
for explicit date format conversion, if necessarybattles
data by adding 'parties' variablemreport()
function to properly report on data containing 'mdate' variablesexpand()
functionmdate
{skimr}
template for mdate
classas_messydate()
allowing users to choose component order of ambiguous datesas_messydate()
re-orders 6 digit date components if necessaryas_messydate()
to also extract dates from text stringsis_precise()
function that provides a logical test for precise datesexpand()
to allow for the expansion of incomplete date ranges and sets of dates{messydates}
packagemessydt
objectsadd()
and subtract()
helper functions for arithmetic operationsexpand()
functionexpand()
to manage negative datesexpand_negative_dates()
helper function for expanding ranges of negative datesmessydt
objects to Date
to manage negative datesnegative_dates()
helper function to coerce negative messydt
datescompact_negative_dates()
helper function to compact negative date rangesis.sequence()
as a helper function to check if dates are a rangeinterleave()
function{messydates}
from Github{messydates}
from Githubmake_messydate()
on_or_before()
on_or_after()
as_approximate()
as_uncertain()
(includes discrimination between month uncertainty and day and month uncertainty)as_messydate()
by adding zero padding for month, day or yearresequence()
to work consistently with messydate objectsexpand()
function to expand imprecise, unspecified, approximate, uncertain, and negative dates according to approximate ranges and added testsprecision()
to return the lengths of expanded datesmedian()
in resolve family of functions to work with changes to expand()
expand()
contract()
precision()
coerce_from_messydate()
messydt
class in DESCRIPTION fileas_messydate()
functionsexpand()
function{messydates}
packageDESCRIPTION
fileR
folderLICENSE
fileNAMESPACE
fileNEWS
fileREADME
files.github
folder and filestests
folder and filesmessydt
class which follows the latest ISO 8601 (2019) standardsas_messydate()
function to coerce from date objects to messydateas_messydate()
standardises date order, separators and ambiguityas.Date.messydt()
for coercing to date classas.POSIXct.messydt()
for coercing to POSIXct classas.POSIXlt.messydt()
for coercing to POSIXlt classexpand()
function for expanding ranged and uncertain datesmin.messydt()
to get minimum value from expanded rangemax.messydt()
to get maximum value from expanded rangemedian.messydt()
to get median value from expanded rangemean.messydt()
to get mean value from expanded rangemodal.messydt()
to get mode value from expanded rangecontract()
function for contracting expanded datesyear()
to extract year from datemonth()
to extract month from dateday()
to extract day from datemake_messydate()
function to get messy dates from multiple columnsmd_intersect()
to find intersection of sets of messy datesmd_union()
to find union of sets of messy datesmd_multiset()
to join two sets of messy datesis_messydate()
to test for messydt classis_intersecting()
to test if dates intersectis_element()
to test for multiple elements in datesis_similar()
to test for similarities in datesàs_messydate()
functioncontract()
functionexpand()
functionmake_messydate()
functionAdd the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.