Converts a character vector (or single character object) from improperly
formatted dates to R's Date class. Supports numerous separators including
/, -, or white space. Supports all-numeric, abbreviation or long-hand month
notation. Where day of the month has not been supplied, the first day of the
month is imputed by default. Either DMY or YMD is assumed by default.
However, the US system of MDY is supported via the format
argument.
Usage
fix_date_char(
dates,
day.impute = 1,
month.impute = 7,
format = "dmy",
excel = FALSE,
roman.numeral = FALSE
)
Arguments
- dates
Character vector to be converted to R's date class.
- day.impute
Integer. Day of the month to be imputed if not available. defaults to 1. Maximum value of 31. If day.impute is greater than the number of days for a given month, then the last day of that month will be imputed. If
day.impute = NA
, thenNA
will be imputed for the date instead and a warning will be raised. Ifday.impute = NULL
then instead of imputing the day of the month, the function will fail.- month.impute
Integer. Month to be be imputed if not available. Defaults to 7 (July). If
month.impute = NA
thenNA
will be imputed for the date instead and a warning will be raised. Ifmonth.impute = NULL
then instead of imputing the month, the function will fail.- format
Character. The format which a date is mostly likely to be given in. Either
"dmy"
(default) or"mdy"
. If year appears to have been given first, then YMD is assumed for the subject (format argument is not used for these observations)- excel
Logical. If a date is given as only numbers (no separators), and is more than four digits, should the date be assumed to be from Excel which counts the number of days from 1900-01-01? In most programming languages (including R), days are instead calculated from 1970-01-01 and this is the default for this function (
excel = FALSE
)- roman.numeral
Logical. If TRUE, months detected to have been given as Roman numerals will be converted. Months are given in Roman numerals in some database systems and biological records. Defaults to FALSE as this may occasionally interfere with months in other formats.
Value
A vector of elements belonging to R's built in Date
class
with the following format yyyy-mm-dd
.
See also
fix_date_df
which is similar to fix_date_char()
except is applicable to columns of a data frame.