Bonjour,
Je dispose d'un jeu de données (voir en pièce jointe) avec une valeur de température toutes les heures. Cependant, ces données comportent des "trous". C'est-à-dire qu'il arrive que l'on passe directement de 17h a 19h, la données de température qui devrait figurer à 18h étant manquante.
Je souhaiterais donc pouvoir repérer ces lignes manquantes sur la base d'un test du type :
Si l'heure à l'instant t n'est pas égale à l'heure à l'instant (t-1) + 100 (l'heure est en effet exprimée de la manière suivante 1700, 1800, 1900, etc.. pour 17h, 18h, 19h), alors il manque une ligne de données.
A ce moment là, je souhaiterais créer une colonne supplémentaire dans mes données à remplir avec des TRUE/FALSE selon le résultat du test.
J'envisageais d'utiliser ce type de formule (avec "a" mon jeu de données et a$HrMn la colonne comportant l'heure à laquelle chaque donnée a été capturée:
a$MISS=ifelse(a$HrMn[i]=a$HrMn[i-1]+100, FALSE, TRUE)
ça ne marche pas...
J'ai également essayé cela:
1 2
| a$y[a$HrMn[i]==a$HrMn[i-1]+100]=TRUE
a$y[a$HrMn[i]!=a$HrMn[i-1]+100]=FALSE |
Dans ce cas, je n'obtiens que des TRUE...
Cependant, un problème se pose. Toutes les 24 lignes, la valeur de la colonne HrMn (autrement dit, l'heure) retombe à 0 (une nouvelle journée commence).
Auriez-vous une idée concernant ce problème et la manière de formuler la ligne de script ci-dessus, cela ne marche pas pour l'instant.
Merci!
Partager