Données de pluies - compter une série
2 participants
Page 1 sur 1
Données de pluies - compter une série
J'ai besoin d'une petite astuce stata. Je suis sur que ça n'a rien de compliqué mais j'ai le cerveau en compote en cette fin de semaine. Donc, j'ai des données de pluies, une information tous les 10 jours (decade), soit trois informations par mois. Je sais lors de quelles décades il n'a plu et je voudrais calculer à chaque fois la durée de la période sans pluie. Par exemple, sur mes 3 premières observations, il y a deux décades de suites où il n'a pas plu. Je voudrais créer la variable qui m'indiquerait pour chaque décade où il ne pleut pas, combien de décades consécutives il n'a pas plus (en comptant la présente décade bien sur). En gros, j'ai besoin de construire la variable "cequejeveux" du tableau ci dessous.
Merci d'avance!
Merci d'avance!
Re: Données de pluies - compter une série
Hé hé, pas si simple ce petit problème... en tout cas j'ai du mobiliser pas mal de neurones censée être en forme en ce début de semaine...
La mauvaise piste est de considérer les données par mois, et j'avais commencé par là. Sauf que ce qui nous intéresse c'est les séquences de 0 et de 1 de la variable paspluie, quelque soit le mois et l'année dans laquelle on se trouve.
Voilà une solution qui doit fonctionner, mais comme toujours avec stata, plusieurs chemins mènent à Rome....
sort ville annee mois decade
D'abord on s'assure que les données sont fixées dans le bon ordre et n'en bougent plus.
gen cequetuveux=. if paspluie==1
replace cequetuveux=1 if paspluie==0 & cequetuveux[_n-1]==.
replace cequetuveux=2 if paspluie==0 & cequetuveux[_n-1]==1
replace cequetuveux=3 if paspluie==0 & cequetuveux[_n-1]==2
replace cequetuveux=4 if paspluie==0 & cequetuveux[_n-1]==3
....
A partir du moment où l'ordre des observations est bien fixé, l'idée est donner progressivement les valeurs à la variable cequetuveux, en regardant la valeur précédente. Si il pleut dans un décade, on donne la valeur ".". Et ensuite si le décade suivant il ne pleut pas alors on donnera la valeur 1 sous la condition que paspluie==0 et que le décade précédent n'avait pas de pluie, c'est à dire cequetuveux==. De même, on donnera la valeur 2, toujours si paspluie==0 et si la valeur précédente était 1.... A priori il faut mettre autant de ligne de commandes possible que de décade sans pluies à la suite, probablement bien plus que 3 donc.
Le tout devrait aussi être précédé d'un bysort ville dans le cas probable de plusieurs localités.
En espérant que ça fonctionne !
La mauvaise piste est de considérer les données par mois, et j'avais commencé par là. Sauf que ce qui nous intéresse c'est les séquences de 0 et de 1 de la variable paspluie, quelque soit le mois et l'année dans laquelle on se trouve.
Voilà une solution qui doit fonctionner, mais comme toujours avec stata, plusieurs chemins mènent à Rome....
sort ville annee mois decade
D'abord on s'assure que les données sont fixées dans le bon ordre et n'en bougent plus.
gen cequetuveux=. if paspluie==1
replace cequetuveux=1 if paspluie==0 & cequetuveux[_n-1]==.
replace cequetuveux=2 if paspluie==0 & cequetuveux[_n-1]==1
replace cequetuveux=3 if paspluie==0 & cequetuveux[_n-1]==2
replace cequetuveux=4 if paspluie==0 & cequetuveux[_n-1]==3
....
A partir du moment où l'ordre des observations est bien fixé, l'idée est donner progressivement les valeurs à la variable cequetuveux, en regardant la valeur précédente. Si il pleut dans un décade, on donne la valeur ".". Et ensuite si le décade suivant il ne pleut pas alors on donnera la valeur 1 sous la condition que paspluie==0 et que le décade précédent n'avait pas de pluie, c'est à dire cequetuveux==. De même, on donnera la valeur 2, toujours si paspluie==0 et si la valeur précédente était 1.... A priori il faut mettre autant de ligne de commandes possible que de décade sans pluies à la suite, probablement bien plus que 3 donc.
Le tout devrait aussi être précédé d'un bysort ville dans le cas probable de plusieurs localités.
En espérant que ça fonctionne !
Marie-Ch- Messages : 77
Date d'inscription : 09/11/2009
Sujets similaires
» Données ménages - stata - comment passer de données en lignes à des données en colonnes?
» données décadaires
» Bases de données
» base de données
» Transformer des données d'âge gestationnel
» données décadaires
» Bases de données
» base de données
» Transformer des données d'âge gestationnel
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|