Vérifie la conformité d'une fréquence
Details
La fréquence d'une série temporelle est soit mensuelle (12L ou
12.0) soit trimestrielle (4L ou 4.0). Les autres fréquences ne sont pas
acceptées.
Cette fonction s'appuie essentiellement sur les fonctions
checkmate::check_numeric, checkmate::check_int et
checkmate::check_choice.
Il y a néanmoins une petite subtilité : on vérifie si l'objet x est de type
double ou integer.
Dans le premier cas, on affichera un warning et on corrigera l'objet au
format integer pour les traitements ultérieurs. En sortie, x est retourné
de manière invisible.
Si l'argument warn est FALSE, alors la fonction ne retournera pas de
warning lors de l'évaluation.
Selon le préfixe de la fonction :
si le check réussi :
la fonction
assert_frequencyretourne l'objetxde manière invisible;la fonction
check_frequencyretourne le booléenTRUE.
si le check échoue :
la fonction
assert_frequencyretourne un message d'erreur;la fonction
check_frequencyretourne une chaîne de caractère signalant le problème.
Examples
assert_frequency(4L)
assert_frequency(12L)
check_frequency(4L)
#> [1] TRUE
check_frequency(12L)
#> [1] TRUE
# Avec des erreurs,
check_frequency(Inf, warn = FALSE)
#> [1] "* Inf Must be finite"
check_frequency(1:10)
#> [1] "* 1:10 Must have length 1 \n * 1:10 Must be element of set {'4','12'}, but is not atomic scalar"
check_frequency(1L)
#> [1] "* 1L Must be element of set {'4','12'}, but is '1'"