1
0
mirror of https://github.com/msberends/AMR.git synced 2025-12-18 15:40:33 +01:00

Built site for AMR@3.0.1.9003: ba30b08

This commit is contained in:
github-actions
2025-11-24 10:42:21 +00:00
parent 7d16891987
commit 141fc468f8
161 changed files with 21798 additions and 313 deletions

94
reference/age.md Normal file
View File

@@ -0,0 +1,94 @@
# Age in Years of Individuals
Calculates age in years based on a reference date, which is the system
date at default.
## Usage
``` r
age(x, reference = Sys.Date(), exact = FALSE, na.rm = FALSE, ...)
```
## Arguments
- x:
Date(s), [character](https://rdrr.io/r/base/character.html) (vectors)
will be coerced with
[`as.POSIXlt()`](https://rdrr.io/r/base/as.POSIXlt.html).
- reference:
Reference date(s) (default is today),
[character](https://rdrr.io/r/base/character.html) (vectors) will be
coerced with [`as.POSIXlt()`](https://rdrr.io/r/base/as.POSIXlt.html).
- exact:
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
age calculation should be exact, i.e. with decimals. It divides the
number of days of
[year-to-date](https://en.wikipedia.org/wiki/Year-to-date) (YTD) of
`x` by the number of days in the year of `reference` (either 365 or
366).
- na.rm:
A [logical](https://rdrr.io/r/base/logical.html) to indicate whether
missing values should be removed.
- ...:
Arguments passed on to
[`as.POSIXlt()`](https://rdrr.io/r/base/as.POSIXlt.html), such as
`origin`.
## Value
An [integer](https://rdrr.io/r/base/integer.html) (no decimals) if
`exact = FALSE`, a [double](https://rdrr.io/r/base/double.html) (with
decimals) otherwise
## Details
Ages below 0 will be returned as `NA` with a warning. Ages above 120
will only give a warning.
This function vectorises over both `x` and `reference`, meaning that
either can have a length of 1 while the other argument has a larger
length.
## See also
To split ages into groups, use the
[`age_groups()`](https://amr-for-r.org/reference/age_groups.md)
function.
## Examples
``` r
# 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
#> birth_date age age_exact age_at_y2k
#> 1 1980-02-27 45 45.73973 19
#> 2 1953-07-26 72 72.33151 46
#> 3 1949-09-02 76 76.22740 50
#> 4 1986-08-03 39 39.30959 13
#> 5 1932-11-19 93 93.01370 67
#> 6 1949-03-30 76 76.65479 50
#> 7 1996-06-23 29 29.42192 3
#> 8 1963-09-16 62 62.18904 36
#> 9 1952-05-16 73 73.52603 47
#> 10 1952-11-14 73 73.02740 47
```