mirror of
https://github.com/msberends/AMR.git
synced 2024-12-27 12:06:14 +01:00
49 lines
1.8 KiB
R
49 lines
1.8 KiB
R
% Generated by roxygen2: do not edit by hand
|
|
% Please edit documentation in R/age.R
|
|
\name{age}
|
|
\alias{age}
|
|
\title{Age in Years of Individuals}
|
|
\usage{
|
|
age(x, reference = Sys.Date(), exact = FALSE, na.rm = FALSE, ...)
|
|
}
|
|
\arguments{
|
|
\item{x}{date(s), \link{character} (vectors) will be coerced with \code{\link[=as.POSIXlt]{as.POSIXlt()}}}
|
|
|
|
\item{reference}{reference date(s) (default is today), \link{character} (vectors) will be coerced with \code{\link[=as.POSIXlt]{as.POSIXlt()}}}
|
|
|
|
\item{exact}{a \link{logical} to indicate whether age calculation should be exact, i.e. with decimals. It divides the number of days of \href{https://en.wikipedia.org/wiki/Year-to-date}{year-to-date} (YTD) of \code{x} by the number of days in the year of \code{reference} (either 365 or 366).}
|
|
|
|
\item{na.rm}{a \link{logical} to indicate whether missing values should be removed}
|
|
|
|
\item{...}{arguments passed on to \code{\link[=as.POSIXlt]{as.POSIXlt()}}, such as \code{origin}}
|
|
}
|
|
\value{
|
|
An \link{integer} (no decimals) if \code{exact = FALSE}, a \link{double} (with decimals) otherwise
|
|
}
|
|
\description{
|
|
Calculates age in years based on a reference date, which is the system date at default.
|
|
}
|
|
\details{
|
|
Ages below 0 will be returned as \code{NA} with a warning. Ages above 120 will only give a warning.
|
|
|
|
This function vectorises over both \code{x} and \code{reference}, meaning that either can have a length of 1 while the other argument has a larger length.
|
|
}
|
|
\examples{
|
|
# 10 random pre-Y2K birth dates
|
|
df <- data.frame(birth_date = as.Date("2000-01-01") - runif(10) * 25000)
|
|
|
|
# add ages
|
|
df$age <- age(df$birth_date)
|
|
|
|
# add exact ages
|
|
df$age_exact <- age(df$birth_date, exact = TRUE)
|
|
|
|
# add age at millenium switch
|
|
df$age_at_y2k <- age(df$birth_date, "2000-01-01")
|
|
|
|
df
|
|
}
|
|
\seealso{
|
|
To split ages into groups, use the \code{\link[=age_groups]{age_groups()}} function.
|
|
}
|