check_age function

Validity Checks for Age Labels

Validity Checks for Age Labels

Check that age labels can be parsed and, optionally, whether the labels are complete, unique, start at zero, and end with an open age group.

check_age( x, complete = FALSE, unique = FALSE, zero = FALSE, open = FALSE, closed = FALSE )

Arguments

  • x: A vector of age labels.

  • complete: If TRUE, test whether x has gaps.

  • unique: If TRUE, test whether x has duplicates.

  • zero: If TRUE, test whether youngest age group in x starts at 0.

  • open: If TRUE, test whether oldest age group in x

    is open.

  • closed: If TRUE, test whether oldest age group in x

    is closed.

Returns

TRUE, invisibly, or raises an error if a test fails.

Details

By default, check_age() only tests whether a set of labels can be parsed as single-year, five-year, or life table age groups. (See age_group_type() for more on the three types of age group.) However, it can also apply the following tests:

  • complete. Whether x includes all intermediate age groups, with no gaps. For instance, the labels c("10-14", "15-19", "5-9")

    are complete, while the labelsc("15-19", "5-9")

    are not (because they are missing "10-14".)

  • unique. Whether x has duplicated labels.

  • zero. Whether the youngest age group in x starts at age 0, ie whether it includes "0" or "0-4".

  • open. Whether the oldest age group in x is "open", with no upper limit, eg "100+" or "65+".

  • closed. Whether the oldest age group in x

    is "closed", with an upper limit, eg "100-104+" or "65".

Examples

try( check_age(c("10-14", "0-4", "15+"), complete = TRUE) ) try( check_age(c("10-14", "5-9", "0-4", "5-9", "15+"), unique = TRUE) ) try( check_age(c("10-14", "5-9", "15+"), zero = TRUE) ) try( check_age(c("10-14", "0-4", "5-9"), open = TRUE) ) try( check_age(c("10+", "0-4", "5-9"), closed = TRUE) )

See Also

  • reformat_age() to convert age labels to the format used by poputils .