2018-12-15 22:40:07 +01:00
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/age.R
\name{age_groups}
\alias{age_groups}
2021-01-18 16:57:56 +01:00
\title{Split Ages into Age Groups}
2018-12-15 22:40:07 +01:00
\usage{
2019-09-02 15:17:41 +02:00
age_groups(x, split_at = c(12, 25, 55, 75), na.rm = FALSE)
2018-12-15 22:40:07 +01:00
}
\arguments{
2019-11-28 22:32:17 +01:00
\item{x}{age, e.g. calculated with \code{\link[=age]{age()}}}
2018-12-15 22:40:07 +01:00
2023-02-22 14:38:57 +01:00
\item{split_at}{values to split \code{x} at - the default is age groups 0-11, 12-24, 25-54, 55-74 and 75+. See \emph{Details}.}
2019-09-02 15:17:41 +02:00
2020-03-07 21:48:21 +01:00
\item{na.rm}{a \link{logical} to indicate whether missing values should be removed}
2018-12-15 22:40:07 +01:00
}
\value{
2020-03-07 21:48:21 +01:00
Ordered \link{factor}
2018-12-15 22:40:07 +01:00
}
\description{
2020-12-22 00:51:17 +01:00
Split ages into age groups defined by the \code{split} argument. This allows for easier demographic (antimicrobial resistance) analysis.
2018-12-15 22:40:07 +01:00
}
\details{
2020-12-22 00:51:17 +01:00
To split ages, the input for the \code{split_at} argument can be:
2018-12-15 22:40:07 +01:00
\itemize{
2021-05-12 18:15:03 +02:00
\item A \link{numeric} vector. A value of e.g. \code{c(10, 20)} will split \code{x} on 0-9, 10-19 and 20+. A value of only \code{50} will split \code{x} on 0-49 and 50+.
2019-11-28 22:32:17 +01:00
The default is to split on young children (0-11), youth (12-24), young adults (25-54), middle-aged adults (55-74) and elderly (75+).
\item A character:
\itemize{
\item \code{"children"} or \code{"kids"}, equivalent of: \code{c(0, 1, 2, 4, 6, 13, 18)}. This will split on 0, 1, 2-3, 4-5, 6-12, 13-17 and 18+.
\item \code{"elderly"} or \code{"seniors"}, equivalent of: \code{c(65, 75, 85)}. This will split on 0-64, 65-74, 75-84, 85+.
2020-10-19 17:09:19 +02:00
\item \code{"fives"}, equivalent of: \code{1:20 * 5}. This will split on 0-4, 5-9, ..., 95-99, 100+.
\item \code{"tens"}, equivalent of: \code{1:10 * 10}. This will split on 0-9, 10-19, ..., 90-99, 100+.
2019-11-28 22:32:17 +01:00
}
2018-12-15 22:40:07 +01:00
}
}
\examples{
ages <- c(3, 8, 16, 54, 31, 76, 101, 43, 21)
2018-12-16 22:45:12 +01:00
# split into 0-49 and 50+
2018-12-15 22:40:07 +01:00
age_groups(ages, 50)
2018-12-16 22:45:12 +01:00
# split into 0-19, 20-49 and 50+
age_groups(ages, c(20, 50))
2018-12-15 22:40:07 +01:00
2018-12-16 22:45:12 +01:00
# split into groups of ten years
2019-04-09 10:34:40 +02:00
age_groups(ages, 1:10 * 10)
2018-12-16 22:45:12 +01:00
age_groups(ages, split_at = "tens")
2018-12-15 22:40:07 +01:00
2018-12-16 22:45:12 +01:00
# split into groups of five years
2019-04-09 10:34:40 +02:00
age_groups(ages, 1:20 * 5)
2018-12-16 22:45:12 +01:00
age_groups(ages, split_at = "fives")
2018-12-15 22:40:07 +01:00
2018-12-16 22:45:12 +01:00
# split specifically for children
2022-08-21 16:37:20 +02:00
age_groups(ages, c(1, 2, 4, 6, 13, 18))
2020-10-19 17:09:19 +02:00
age_groups(ages, "children")
2018-12-15 22:40:07 +01:00
2020-09-29 23:35:46 +02:00
\donttest{
2020-10-19 17:09:19 +02:00
# resistance of ciprofloxacin per age group
2022-11-05 08:18:06 +01:00
if (require("dplyr") && require("ggplot2")) {
2020-11-16 16:57:55 +01:00
example_isolates \%>\%
filter_first_isolate() \%>\%
2022-08-27 20:49:37 +02:00
filter(mo == as.mo("Escherichia coli")) \%>\%
2020-11-16 16:57:55 +01:00
group_by(age_group = age_groups(age)) \%>\%
select(age_group, CIP) \%>\%
2023-01-21 23:47:20 +01:00
ggplot_sir(
2022-08-28 10:31:50 +02:00
x = "age_group",
minimum = 0,
x.title = "Age Group",
title = "Ciprofloxacin resistance per age group"
)
2020-11-16 16:57:55 +01:00
}
2018-12-15 22:40:07 +01:00
}
2019-11-03 22:41:29 +01:00
}
2018-12-15 22:40:07 +01:00
\seealso{
2019-11-28 22:32:17 +01:00
To determine ages, based on one or more reference dates, use the \code{\link[=age]{age()}} function.
2018-12-15 22:40:07 +01:00
}