#' Age
#'
#' Détermine l'âge entre une `Date` et la `Naissance`.
#'
#' On considère une année complète la même date, mais à l'année suivante, par exemple du 1er avril 2000 au 1er avril 2001.
#'
#' @param Date "AAAA-MM-JJ". Date(s) à laquelle l'âge est calculé. Si 1 valeur : Même date pour toutes les dates de naissance. Si plusieurs valeurs, doit être un vecteur de même longueur que `Naissance`.
#' @param Naissance "AAAA-MM-JJ". Date(s) de naissance.
#'
#' @return integer
#' @importFrom lubridate is.Date as_date
#' @export
#'
#' @examples
#' age("2019-12-24", "1989-12-24")
#' age("2019-12-24", "1989-12-01")
#' age("2019-12-24", "1989-12-26")
age <- function(Date, Naissance){
check <- newArgCheck()
# Convertir en Date si nécessaire
if(!is.Date(Date))
Date <- as_date(Date)
if(!is.Date(Naissance))
Naissance <- as_date(Naissance)
# Il ne peut y avoir de NA lorsqu'on calcule une durée entre 2 dates
if(anyNA(Date))
addError("Date ne peut contenir de NA. Doit être de la forme 'AAAA-MM-JJ'.", check)
if(anyNA(Naissance))
addError("Naissance ne peut contenir de NA. Doit être de la forme 'AAAA-MM-JJ'.", check)
if(!(length(Date) == 1 | length(Date) == length(Naissance)))
addError("Date doit être de longueur 1 ou de même longueur que Naissance.", check)
finishArgCheck(check) # vérification des arguments
return(as.integer(floor((Date - Naissance) / 365.25)))
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.