knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
As you would expect with a genealogical data format, dates form a major part of information contained within it. Within tidyged
there are a number of different date types that can be defined, and there is a helper function for each type to ensure it is formatted correctly.
Dates that occur on a specific defined date are defined using the date_exact()
function:
library(tidyged) date_exact(1999, 7, 5) date_exact(1956, 12, 8) date_exact(2008, 4, 1)
Calendar dates are the most common type of date used. They can not only be used to create specific dates like date_exact()
, they underpin the other date types described below. They can be created using the date_calendar()
function:
date_calendar(year = 1999, month = 4, day = 5) date_calendar(year = 1999, month = 4) date_calendar(year = 1999) date_calendar(month = 4, day = 5)
English dates before 1752 were often given in dual format. This can be achieved using the year_is_dual
parameter:
date_calendar(year = 1745, month = 4, day = 5, year_is_dual = TRUE)
Years before the Common Era can be defined using the year_is_bce
parameter:
date_calendar(year = 105, year_is_bce = TRUE)
Note that only the Gregorian calendar is currently supported.
Approximate dates (i.e. those expressing uncertainty) use the qualifiers 'about', 'calculated', or 'estimated' in conjunction with a date_calendar()
object:
date_calendar(year = 1999, month = 4, day = 5) |> date_approximated(about = TRUE) date_calendar(year = 1999, month = 4, day = 5) |> date_approximated(calc = TRUE) date_calendar(year = 1999, month = 4, day = 5) |> date_approximated(est = TRUE)
Date periods can take one or two date_calendar()
objects:
date_period(start_date = date_calendar(1956, 7, 26), end_date = date_calendar(1956, 9, 15)) date_period(start_date = date_calendar(1956, 7, 26)) date_period(end_date = date_calendar(1956, 9, 15))
Providing only one date gives a semi-infinite period.
Date ranges can be defined using date_range()
. Unlike date_period()
, they describe when an event occurred rather than a duration.
date_range(start_date = date_calendar(1956, 7, 26), end_date = date_calendar(1956, 9, 15)) date_range(start_date = date_calendar(1956, 7, 26)) date_range(end_date = date_calendar(1956, 9, 15))
It's important to note that approximate dates cannot be used in date ranges or date periods. The GEDCOM specification does allow arbitrary "date phrases" enclosed in parentheses, but recommends these are added as notes instead. The tidyged
package doesn't allow you to create date phrases (only as notes) but will accept them from imported files.
Next article: Summarising tidyged objects >
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.