Me revoilà avec une nouvelle question qui ne devrait pas être trop difficile :)
J'ai un jeu de donnée de ce type:
Code : Tout sélectionner
date.heure <- c("01/01/2017 8:00:00","01/01/2017 8:10:00","01/01/2017 8:25:00","01/01/2017 8:30:00", "01/01/2017 9:10:00")
poids <- c(20,20.5,22,21,30)
temperature <- c(15,16,20,18,26)
tab <- cbind(date.heure, poids, temperature)
tab
J'aimerais simplement rajouter une colonne "heure" dans laquelle on ne garde que l'heure de la date considérée pour obtenir le tableau suivant:
Code : Tout sélectionner
tab$heure <- c("8:00:00","8:10:00","8:25:00","8:30:00", "9:10:00")
Je profite de poser cette question pour rappeler une autre question posée dans "calcul de variation au cours du temps" pour laquelle je n'ai pas eu de réponse ... si quelqu'un peut m'aider... je sais que c'est assez délicat comme question, mais c'est un challenge ! ;)
Rappel QUESTION 2 : SOMMER LES VARIATION PAR PAS DE 30 MINUTES
Une fois obtenu le nouveau tableau avec les variation, j'aimerais le transformer. Il me faut sommer les variations ayant lieux dans les 30 minutes. Autrement dit, j'aimerais calculer les variations de poids et température toutes les 30 minutes. Le relevé des données n'étant pas toujours régulier dans le temps, je dois le réajuster par cette manipulation.
NB1: Si la variation de temps est déjà supérieure à 30 min on ne fait pas de somme et on laisse la ligne telle quelle
NB2: Si la somme des variations de temps n'est pas pile égale à 30 min, on peut autoriser une fourchette de 30min +/- 10min
NB3: Des lignes allant être supprimer en sommant, on gardera la "date heure" de la borne supérieure
(Voir un modèle du tableau final souhaité dans le code ci dessous)
Code : Tout sélectionner
#Fabrication du tableau de données
date.heure <- c("01/01/2017 8:00:00","01/01/2017 8:10:00","01/01/2017 8:25:00","01/01/2017 8:30:00", "01/01/2017 9:10:00")
poids <- c(20,20.5,22,21,30)
temperature <- c(15,16,20,18,26)
heure <- c("8:00:00","8:10:00","8:25:00","8:30:00", "9:10:00")
v.minute <- c(0,10,15,5,40)
v.poids <- c(0,0.5,1.5,-1,9)
v.temperature <- c(0,1,4,-2,8)
tab <- cbind(date.heure, poids, temperature, heure, v.minute, v.poids, v.temperature)
tab
#Nouveau tableau de données avec la colonne "somme pas de temps 30 min":
date.temps.30min <- c("01/01/2017 8:30:00", "01/01/2017 9:10:00") #On prend la date en borne supérieure
somme.minute <- c(0+10+15+5, 40)
somme.poids <- c(0+0.5+1.5-1, 9)
somme.temperature <- c(0+1+4-2, 8)
tab.30minute <- cbind(date.temps.30min, somme.minute, somme.poids, somme.temperature)
tab.30minute
Merci beaucoup pour votre aide !!! :)