Cela fait bien longtemps que ne suis pas revenu poser de question. Je remercierais tous ceux qui m'apporteront leur aide :)
J'ai deux questions qui se suivent et portent sur le même tableau de données.
DESCRIPTION DU JEU DE DONNEES:
3 colonnes
-Date et heure de la journée concernée: il y a un relevé environ toutes les 10minutes voir 40 minutes pendant 365 jours
-Poids: Pour chaque relevé de donné, on relève le poids
-Température: Pour chaque relevé de donné, on relève la température
NB: le tableau de donnée fait 20 000 lignes * 40 individus ==> beaucoup de lignes donc ! :)
(Voir un modèle du tableau de donné dans le code ci dessous)
QUESTION 1 : CALCULER LA VARIATION DE POIDS, DE TEMPERATURE ET DE TEMPS EN MINUTE AU COURS DU TEMPS
Je souhaite calculer la variation de poids et de température au cours du temps, en partant d'un poids et d'une température initiale de zéro. Le relevé qui suit sera donc par exemple : "+0.5Kg" et "+1°C" en "10 min". Ces variations calculées s'ajouteraient dans de nouvelles colonnes.
NB: On peut avoir des variations négatives ou positives bien sûr.
(Voir un modèle du tableau final souhaité dans le code ci dessous)
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
#DESCRIPTION DU JEU DE DONNEES
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
#QUESTION 1 : CALCULER LA VARIATION DE POIDS DE TEMPERATURE ET DE TEMPS EN MINUTE AU COURS DU TEMPS
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(tab,v.minute, v.poids, v.temperature)
tab
#QUESTION 2 : SOMMER LES VARIATION PAR PAS DE 30 MINUTES
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, je sais que la deuxième partie de la question est un peu pointilleuse et peut être difficilement réalisable mais si vous avez des propositions autres qui se rapproche de mon objectif je suis ouverte :)
Très bonne journée à vous!
Coralie