Bonjour à tous,
Je dispose d'un fichier comprenant une variable d'intérêt prenant une valeur différente à chaque pas de temps. Ces pas de temps sont définis avec 2 variables : date_deb et date_fin.
Ainsi cette table ressemble à ça :
date_deb date_fin variable_interet 01/01/2000 31/12/2000 100 01/01/2001 30/06/2001 110 01/07/2001 31/12/2001 120 01/01/2002 30/09/2005 130 01/10/2005 28/02/2006 140 01/03/2006 31/12/2006 150 01/01/2007 31/12/2007 155
J'aimerais calculer la moyenne annuelle de ma variable d'intérêt pour chaque année entre ma première année et ma dernière année. Si mes dates de début et de fin étaient toujours sur une même année, je pourrais calculer un intervalle de temps puis faire une moyenne pondérée par cette intervalle de temps en groupant selon l'année, mais j'ai quelques fois des intervalles de temps qui englobent plusieurs années.
Dans l'idéal, je souhaiterais même ne pas fonctionner avec un nombre de jours, mais uniquement de mois afin que la moyenne annuelle ne soit pas sensible aux mois plus courts, mes dates étant tout le temps définies avec une date_debut au premier du mois, et une date_fin à la fin d'un mois. Ce problème est moins important cependant.
Je n'arrive pas à trouver de manière de faire (à moins peut-être d'une usine à gaz du genre, faire une boucle partant de l'année la plus ancienne à l'année la plus récente et, pour chaque année, effectuer le calcul en parcourant toute la table à chaque fois...) Avant de me lancer dans l'écriture d'un code long et fastidieux, peut-être que quelqu'un aurait une idée pour me débloquer ?
Par avance merci !
Partager