La fonction assert_timeunits
vérifie qu'un objet est un
TimeUnits.
Arguments
- x
un numérique qui représente le time units de
- frequency_ts
un entier qui vaut
4L
(ou4.0
) pour les séries trimestrielles et12L
(ou12.0
) pour les séries mensuelles.- .var.name
Nom de l'objet à vérifier pour afficher dans les messages
- add
Collection pour stocker les messages d'erreurs (Default is NULL)
Details
Un objet de type TimeUnits est un numérique qui désigne l'année et la période
en cours avec ses décimales.
Ainsi pour une série temporelle mensuelle, 2020.5
représente la moitié de
l'année donc juillet 2020 et s'écrit c(2020L, 7L)
au format date_ts.
Selon le préfixe de la fonction :
si le check réussi :
la fonction
assert_timeunits
retourne l'objetx
de manière invisible;la fonction
check_timeunits
retourne le booléenTRUE
.
si le check échoue :
la fonction
assert_timeunits
retourne un message d'erreur;la fonction
check_timeunits
retourne une chaîne de caractère signalant le problème.
Examples
assert_timeunits(2020.5, frequency_ts = 12L)
assert_timeunits(2020.5, frequency_ts = 4L)
assert_timeunits(2023., frequency_ts = 12L)
assert_timeunits(2000. + 5. / 12.0, frequency_ts = 12L)
assert_timeunits(2015. + 3. / 4.0, frequency_ts = 4L)
check_timeunits(2020.5, frequency_ts = 12L)
#> [1] TRUE
check_timeunits(2015. + 3. / 4.0, frequency_ts = 4L)
#> [1] TRUE
# Avec erreur
check_timeunits(list(1.), frequency_ts = 12L)
#> [1] "* list(1) Must be of type 'number', not 'list'"
check_timeunits(2000., frequency_ts = 1L)
#> [1] "* frequency_ts Must be element of set {'4','12'}, but is '1'"