check_date_ts {TractorTsbox} | R Documentation |
Vérifie le format de date
Description
La fonction assert_date_ts
vérifie qu'un objet est de type
AAAA
, c(AAAA, MM)
ou c(AAAA, TT)
Usage
check_date_ts(x, frequency_ts, .var.name = checkmate::vname(x), warn = TRUE)
assert_date_ts(
x,
frequency_ts,
add = NULL,
.var.name = checkmate::vname(x),
warn = TRUE
)
Arguments
x |
un vecteur numérique, de préférence |
frequency_ts |
un entier qui vaut |
.var.name |
Nom de l'objet à vérifier pour afficher dans les messages |
warn |
un booleen |
add |
Collection pour stocker les messages d'erreurs (Default is NULL) |
Details
Les fonctions du package TractorTsbox sont faites pour fonctionner
avec des times-series de fréquence mensuelle ou trimestrielle et basés sur le
système des mois, trimestres et années classiques.
On cherche donc à favoriser l'utilisation de vecteur c(AAAA, MM)
pour
désigner la date choisie.
Lorsque l'objet x
en entrée est au mauvais format, il est corrigé pendant
la vérification et l'objet en sortie est au bon format.
Si l'argument warn
est FALSE
, alors la fonction ne retournera pas de
warning lors de l'évaluation.
Ici, l'argument frequency_ts
est nécessaire car une date sous la forme
c(AAAA, PP), avec PP le nombre de période, ne désigne pas une date absolue.
Par exemple, c(2020L 5L) désigne mai 2020 pour une fréquence mensuelle et le
1er trimestre 2021 pour une fréquence trimestrielle.
Selon le préfixe de la fonction :
si le check réussi :
la fonction
assert_date_ts
retourne l'objetx
de manière invisible;la fonction
check_date_ts
retourne le booléenTRUE
.
si le check échoue :
la fonction
assert_date_ts
retourne un message d'erreur;la fonction
check_date_ts
retourne une chaîne de caractère signalant le problème.
Value
En sortie la fonction retourne l'objet x
de manière invisible ou
une erreur.
Examples
# De bons formats de date
assert_date_ts(c(2020L, 8L), frequency_ts = 12L)
assert_date_ts(c(2020L, 2L), frequency_ts = 4L)
check_date_ts(2022L, frequency_ts = 12L)
# Format double --> génération d'un warning
assert_date_ts(c(2020., 4.0), frequency_ts = 4L)
assert_date_ts(2022., frequency_ts = 12L)
check_date_ts(2022., frequency_ts = 12L)
# Fréquence au format double --> génération d'un warning
assert_date_ts(c(2020L, 6L), frequency_ts = 4.0)
assert_date_ts(c(2020L, 42L), frequency_ts = 12.0)
# Dépassement la fréquence --> génération d'un warning
assert_date_ts(c(2020L, 6L), frequency_ts = 4L)
assert_date_ts(c(2020L, 42L), frequency_ts = 12L)
assert_date_ts(c(2020L, -4L), frequency_ts = 12L)
# Avec des erreurs
check_date_ts(1:10, frequency_ts = 12L)