Précédent   Forum du club des développeurs et IT Pro > Autres langages > Autres langages > R
R Forum d'entraide sur la programmation en langage R
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 12/12/2012, 15h21   #1
CupOfAppleTea
Invité de passage
 
Inscription : mars 2012
Messages : 44
Détails du profil
Informations forums :
Inscription : mars 2012
Messages : 44
Points : 2
Points : 2
Par défaut Identification des lignes manquantes dans jeu de données

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:
Code :
a$MISS=ifelse(a$HrMn[i]=a$HrMn[i-1]+100, FALSE, TRUE)
ça ne marche pas...
J'ai également essayé cela:
Code :
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!
Fichiers attachés
Type de fichier : txt ReperageLignesManquantes.txt (62,9 Ko, 2 affichages)
CupOfAppleTea est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2012, 05h01   #2
vchouraki
Membre éclairé
 
Vincent Chouraki
Inscription : juillet 2010
Messages : 137
Détails du profil
Informations personnelles :
Nom : Vincent Chouraki
Localisation : Etats-Unis

Informations forums :
Inscription : juillet 2010
Messages : 137
Points : 363
Points : 363
Bonjour,

Code :
1
2
3
4
5
reperage <- read.table("ReperageLignesManquantes.txt", header=TRUE, sep="\t", stringsAsFactors=FALSE)
temp <- expand.grid(unique(reperage$Date), seq(0, 2300, 100))
names(temp) <- c("Date", "HrMn")
resultat <-merge(temp, reperage, all.x=TRUE)
resultat[which(is.na(resultat$Temp)), ]
HTH

Vincent
vchouraki est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 10h52.


 
 
 
 
Partenaires

Hébergement Web