Délimitation d’événements selon conditions (aide : fonctions//script)

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Theo Boudard
Messages : 19
Enregistré le : 06 Jan 2021, 15:32

Délimitation d’événements selon conditions (aide : fonctions//script)

Messagepar Theo Boudard » 06 Avr 2021, 09:15

Bonjour tout le monde,

J'ai un dataframe de la forme suivante (les NA correspondent à des 0) :

Code : Tout sélectionner

  date_TU   ID_pluie   Pluvio   Debit_A   Debit_B   Debit_C   Debit_D
2017-01-10 02:54:00   1   0.2   NA   0.6   78.4   1204.5
2017-01-10 02:56:00   1   0.4   25.6   0.6   48.6   1356.7
2017-01-10 02:58:00   1   0.4   37.8   NA   78.7   702.7
2017-01-10 03:00:00   1   NA   157.8   NA   NA   958.1
2017-01-10 03:02:00   1   NA   0.6   NA   NA   1204.5
...
2018-09-10 14:05:00   5   0.2   NA   3.6   45.3   NA
2018-09-10 14:05:00   5   0.4   5.5   5.6   78.3   2.4
2018-09-10 14:05:00   5   0.2   NA   0.5   45.3   NA

2019-12-27 00:32:00   265   0.4   NA   0.6   178.5   4.5
2019-12-27 00:34:00   265   0.4   NA   2.3   NA   12.5
2019-12-27 00:36:00   265   0.2   NA   5.3   NA   14.4
2019-12-27 00:38:00   265   NA   NA   15.6   NA   NA
2019-12-27 00:40:00   265   NA   NA   12.3   NA   NA
2019-12-27 00:42:00   265   NA   NA   9.6   NA   NA
2019-12-27 00:44:00   265   NA   NA   3.1   NA   NA
2019-12-27 00:46:00   265   NA   NA   1.8   NA   NA
2019-12-27 00:48:00   265   NA   NA   0.6   NA   NA
2019-12-27 00:50:00   265   NA   NA   NA   NA   NA
...
2019-12-30 13:28:00   266   NA   127.9   38.5   NA   NA
2019-12-30 13:30:00   266   NA   127.9   38.5   NA   NA


La colonne ID_pluie correspond à un identifiant unique pour chaque événement pluvieux.

Je cherche ici à créer un dataframe pour chaque ID_pluie (soit chaque événement).
Si le début de ces événements est clairement défini il faut que je définisse leur fin selon les conditions suivantes :
- Fin de Evènement quand les colonnes Débits A, B, C et D (en L/h) sont toutes inférieurs à 1.8 L/h en une heure.
- Ou Fin de Evènement quand un nouvel événement commence (si la condition précédente n’est jamais atteinte)

Afin de pouvoir appliquer la première condition peut être faut il que je crée une nouvelle colonne qui ferait la somme des débit sur 1h pour chaque pas de temps? mais ensuite comment dire à R de "couper" l’événement une fois la conditions atteinte ? (soit que les débits A, B, C et D soit tous inférieur à 1.8 L/h sur 60mn)

Enfin est-il possible de créer un dataframe pour chaque événement (soit presque 200-300 df) ? si oui est il possible ensuite de travailler sur tous ces df en même temps ? Je m'explique : si je veux créer par exemple une colonne "somme", puis-je le faire pour tous les événements en même temps ? ou est ce que je dois d'abord créer cette colonne avant de séparer tous les événements dans des df différents ?

Je suis conscient que ce que je demande n’est pas simple (en tous cas ça n'a pas l'air) mais c’est pour ça que je m’en remets à vous. Si vous avez des pistes, des packages, des suggestions ou d’autres éléments qui pourrait m’être utile je suis preneur.

Si vous désirez d'avantage d'informations ou explication sur les données n'hésitez pas.

Merci d’avance pour votre aide,
Bonne semaine,

Théo Boudard

Facundo Muñoz
Messages : 156
Enregistré le : 04 Juil 2019, 09:58
Contact :

Re: Délimitation d’événements selon conditions + separation d'un df en plusieurs

Messagepar Facundo Muñoz » 06 Avr 2021, 09:56

Bonjour,

Pour mieux vous aider, ce serait utile d'avoir un code reproductible, ainsi qu'un exemple de ce que vous attendez comme résultat (qui doit être en cohérence avec vos explications).

Entre temps, vous pouvez regarder la fonction

Code : Tout sélectionner

split()
, qui permet de construire une liste de data frames selon les différents niveaux d'un facteur (ID_pluie).

Je ne comprends pas comment vous voulez faire le calcul des débits sur 1 h. S'agit-il des sommes sur les tranches horaires (0:00-0:59, 1:00-1:59, ...) ou bien à chaque mesure, la somme sur l'heure précédente (01:55-02:54, 01:57-02:56, ...) ? et dans ce cas, comment gérer les bordures ? ou bien une autre façon ?

Cordialement,
ƒacu.-

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: Délimitation d’événements selon conditions + separation d'un df en plusieurs

Messagepar Mickael Canouil » 06 Avr 2021, 11:01

Bonjour,

en plus des questions de Facundo et du lien pour le code reproductible.
"Si le début de ces événements est clairement défini" ça veut dire quoi ?

Globalement tous est possible, le nombre de "découpage" ne pose aucun problème au niveau du code, qui a priori peut se faire via R base, dplyr/tidyr ou encore data.table.


PS : pas besoin d'avoir l'ensemble des données, un extrait pertinent/représentatif est amplement suffisant

Cordialement,
Mickaël
mickael.canouil.fr | rlille.fr

Theo Boudard
Messages : 19
Enregistré le : 06 Jan 2021, 15:32

Re: Délimitation d’événements selon conditions + separation d'un df en plusieurs

Messagepar Theo Boudard » 07 Avr 2021, 09:50

Bonjour,

Oui en effet avec un code reproductible ça sera plus simple :

Code : Tout sélectionner

structure(list(Date_TU = structure(c(1520805120, 1521102720,
1521102840, 1521102960, 1521103080, 1521103200, 1521103320, 1521103440,
1521103560, 1521103680, 1521103800, 1521103920, 1521104040, 1521104160,
1521104280, 1521104400, 1521104520, 1521104640, 1521104760, 1521104880,
1521105000, 1521105120, 1521105240, 1521105360, 1521105480, 1521105600,
1521105720, 1521105840, 1521105960, 1521106080, 1521106200, 1521106320,
1521106440, 1521106560, 1521106680, 1521106800, 1521106920, 1521107040,
1521107160, 1521107280, 1521107400, 1521107520, 1521107640, 1521107760,
1521107880, 1521108000, 1521108120, 1521108240, 1521108360, 1521108480,
1521108600, 1521108720, 1521108840, 1521108960, 1521109080, 1521109200,
1521109320, 1521109440, 1521109560, 1521109680, 1521109800, 1521109920,
1521110040, 1521110160, 1521110280, 1521110400, 1521110520, 1521110640,
1521110760, 1521110880, 1521111000, 1521111120, 1521111240, 1521111360,
1521111480, 1521111600, 1521111720, 1521111840, 1521111960, 1521112080,
1521112200, 1521112320, 1521112440, 1521112560, 1521112680, 1521112800,
1521112920, 1521113040, 1521113160, 1521113280, 1521113400, 1521113520,
1521113640, 1521113760, 1521113880, 1521114000, 1521114120, 1521114240,
1521114360, 1521114480, 1521114600, 1521114720, 1521114840, 1521114960,
1521115080, 1521115200, 1521115320, 1521115440, 1521115560, 1521115680,
1521115800, 1521115920, 1521116040, 1521116160, 1521116280, 1521116400,
1521116520, 1521116640, 1521116760, 1521116880, 1521117000, 1521117120,
1521117240, 1521117360, 1521117480, 1521117600, 1521117720, 1521117840,
1521117960, 1521118080, 1521118200, 1521118320, 1521118440, 1521118560,
1521118680, 1521118800, 1521118920, 1521119040, 1521119160, 1521119280,
1521119400, 1521119520, 1521119640, 1521119760, 1521119880, 1521120000,
1521120120, 1521120240, 1521120360, 1521120480, 1521120600, 1521120720,
1521120840, 1521120960, 1521121080, 1521121200, 1521121320, 1521121440,
1521121560, 1521121680, 1521121800, 1521121920, 1521122040, 1521122160,
1521122280, 1521122400, 1521122520, 1521122640, 1521122760, 1521122880,
1521123000, 1521123120, 1521123240, 1521123360, 1521123480, 1521123600,
1521123720, 1521123840, 1521123960, 1521124080, 1521124200, 1521124320,
1521124440, 1521124560, 1521124680, 1521124800, 1521124920, 1521125040,
1521125160, 1521125280, 1521125400, 1521125520, 1521125640, 1521125760,
1521125880, 1521126000, 1521126120, 1521126240, 1521126360, 1521126480,
1521126600, 1521126720, 1521126840, 1521126960, 1521127080, 1521127200,
1521127320, 1521127440, 1521127560, 1521127680, 1521127800, 1521127920,
1521128040, 1521128160, 1521128280, 1521128400, 1521128520, 1521128640,
1521128760, 1521128880, 1521129000, 1521129120, 1521129240, 1521129360,
1521129480, 1521129600, 1521129720, 1521129840, 1521129960, 1521130080,
1521130200, 1521130320, 1521130440, 1521130560, 1521130680, 1521130800,
1521130920, 1521131040, 1521131160, 1521131280, 1521131400, 1521131520,
1521131640, 1521131760, 1521131880, 1521132000, 1521132120, 1521132240,
1521132360, 1521132480, 1521132600, 1521132720, 1521132840, 1521132960,
1521133080, 1521133200, 1521133320, 1521133440, 1521133560, 1521133680,
1521133800, 1521133920, 1521134040, 1521134160, 1521134280, 1521134400,
1521134520, 1521134640, 1521134760, 1521134880, 1521135000, 1521135120,
1521135240, 1521135360, 1521135480, 1521135600, 1521135720, 1521135840,
1521135960, 1521136080, 1521136200, 1521136320, 1521136440, 1521136560,
1521136680, 1521136800, 1521136920, 1521137040, 1521137160, 1521137280,
1521137400, 1521137520, 1521137640, 1521137760, 1521137880, 1521138000,
1521138120, 1521138240, 1521138360, 1521138480, 1521138600, 1521138720,
1521138840, 1521138960, 1521139080, 1521139200, 1521139320, 1521139440,
1521139560, 1521139680, 1521139800, 1521139920, 1521140040, 1521140160,
1521140280, 1521140400, 1521140520, 1521140640, 1521140760, 1521140880,
1521141000, 1521141120, 1521141240, 1521141360, 1521141480, 1521141600,
1521141720, 1521141840, 1521141960, 1521142080, 1521142200, 1521142320,
1521142440, 1521142560, 1521142680, 1521142800, 1521142920, 1521143040,
1521143160, 1521143280, 1521143400, 1521143520, 1521143640, 1521143760,
1521143880, 1521144000, 1521144120, 1521144240, 1521144360, 1521144480,
1521144600, 1521144720, 1521144840, 1521144960, 1521145080, 1521145200,
1521145320, 1521145440, 1521145560, 1521145680, 1521145800, 1521145920,
1521146040, 1521146160, 1521146280, 1521146400, 1521146520, 1521146640,
1521146760, 1521146880, 1521147000, 1521147120, 1521147240, 1521147360,
1521147480, 1521147600, 1521147720, 1521147840, 1521147960, 1521148080,
1521148200, 1521148320, 1521148440, 1521148560, 1521148680, 1521148800,
1521148920, 1521149040, 1521149160, 1521149280, 1521149400, 1521149520,
1521149640, 1521149760, 1521149880, 1521150000, 1521150120, 1521150240,
1521150360, 1521150480, 1521150600, 1521150720, 1521150840, 1521150960,
1521151080, 1521151200, 1521151320, 1521151440, 1521151560, 1521151680,
1521151800, 1521151920, 1521152040, 1521152160, 1521152280, 1521152400,
1521152640, 1521152760, 1521152880, 1521153000, 1521153240, 1521153360,
1521153480, 1521153720, 1521153840, 1521154080, 1521154320, 1521154560,
1521154920, 1521155280, 1521155640, 1521156000, 1521156600, 1521157200,
1521158160, 1521159840, 1521201240, 1521204480, 1521204840, 1521205200,
1521205320, 1521205440, 1521205560, 1521205680, 1521205800, 1521205920,
1521206040, 1521206160, 1521206280, 1521206400), class = c("POSIXct",
"POSIXt"), tzone = ""), ID_pluie = c(157L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L, 158L,
158L, 158L, 158L, 158L, 159L, 159L, 159L, 159L, 159L, 159L, 159L,
159L, 159L, 159L, 159L, 159L, 159L), Pluviometrie_mm = c(NA,
NA, NA, "0,6", NA, NA, "0,6", NA, NA, "0,4", NA, NA, "0,4", NA,
NA, "0,4", NA, NA, "0,4", NA, NA, "0,4", NA, NA, "0,6", NA, NA,
"0,4", NA, NA, "0,6", NA, NA, "0,6", NA, NA, "0,6", NA, NA, "0,6",
NA, NA, "0,4", NA, NA, "0,4", NA, NA, "0,2", NA, NA, "0,4", NA,
NA, "0,2", NA, NA, NA, NA, NA, "0,4", NA, NA, NA, NA, NA, "0,2",
NA, NA, "0,4", NA, NA, "0,2", NA, NA, "0,2", NA, NA, "0,2", NA,
NA, "0,2", NA, NA, "0,2", NA, NA, NA, NA, NA, NA, NA, NA, "0,2",
NA, NA, NA, NA, NA, "0,2", NA, NA, "0,2", NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, "0,2", NA, NA, NA, NA, NA, "0,2", NA,
NA, "0,2", NA, NA, "0,2", NA, NA, NA, NA, NA, "0,2", NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "0,2", NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, "0,2", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
"0,4", "0,4", "0,4", NA, NA, "0,4", NA, NA, "0,2", NA, NA, NA,
NA), Debit_CSR_L_par_h = c(NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, 115.5, 127.15, 138.58, 150.28, 159.56, 167.72, 174.19, 183.5,
192.27, 195.72, 201.68, 207.63, 216.31, 223.4, 229.04, 235.78,
243.02, 253.77, 266.37, 280.05, 292.26, 303.31, 314.7, 326.75,
339.48, 351.4, 364.08, 376.93, 386.04, 393.94, 397.87, 401.02,
399.94, 399.03, 396.53, 392.56, 388.33, 382.16, 371.42, 359.5,
347.12, 332.62, 321.31, 309.7, 298.05, 287.34, 275.65, 264.17,
252.95, 245.35, 238.2, 233.01, 227.62, 222.62, 218.3, 214.28,
210.53, 203.83, 198.4, 197.32, 197.54, 194.99, 192.92, 189.33,
187.13, 182.73, 180.18, 177.64, 176.99, 175.01, 173.32, 169.88,
167.28, 165.43, 162.88, 160.03, 155.59, 150.49, 143.72, 140.65,
134.83, 129.91, 125.9, 122.15, 118.6, 115.36, 112.08, 109.03,
107.04, 105.36, 104.23, 103.33, 102.42, 101.21, 49.44, 48.925,
48.365, 46.985, 46.25, 45.825, 45.28, 43.725, 42.95, 41.565,
40.335, 38.615, 37.815, NA, NA, NA, NA, NA, NA, NA, NA, 37.55,
37.725, 37.66, 38.135, 38.525, 39.28, 39.95, 40.575, 41.095,
41.395, 41.48, 42.065, 41.715, 41.31, 40.51, 39.625, 38.35, 37.685,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA), Debit_asphalt_L_par_h = c(0.6, 142.9, 169.57, 235.35,
281.69, 329.99, 319.32, 310.39, 298.39, 283.85, 314.02, 331.19,
316.04, 311.69, 311.29, 292.57, 260.41, 279.79, 297.61, 282.68,
283.46, 314.7, 321.65, 306.85, 290.45, 309.66, 372.97, 413.49,
428.55, 429.28, 421.99, 410.08, 466.19, 500.36, 503.21, 508.9,
509.34, 535.58, 536.74, 508.38, 505.76, 487.11, 468.44, 475.34,
453.02, 442.97, 444.83, 406.29, 357.52, 320.27, 315.31, 294.59,
270.98, 248.63, 232.67, 219.77, 205.83, 196.29, 187.13, 179.84,
185.41, 201.17, 207.47, 202.2, 193.61, 181.17, 165.73, 153.69,
152.83, 172.16, 183.64, 204.92, 198.19, 168.27, 139.71, 122.49,
121.07, 138.16, 178.8, 202.07, 190.33, 165.29, 148.68, 137.41,
122.15, 122.74, 112.47, 91.575, 77.925, 65.4, 58.8, 54.6, 54,
51.6, 53.4, 68.185, 70.93, 72.765, 72.95, 64.8, 65.4, 69, 142.4,
81.8, 132.2, 111.97, 62.4, 60, 55.2, 46.8, 40.2, 36, 32.4, 31.2,
27.6, 26.4, 24, 21.6, 20.4, 19.2, 23.4, 30.6, 43.8, 63.6, 129.31,
137.81, 162.54, 165.08, 122.57, 104.71, 85.6, 76.605, 61.8, 55.2,
54, 48.6, 48, 44.4, 42, 40.2, 36.6, 33, 2034.05, 312.96, 29.4,
27, 24.6, 24, 496.68, 236.58, 16.8, 16.2, 16.2, 15, 13.2, 12.6,
10.8, 10.2, 10.2, 9, 9, 8.4, 7.8, 7.8, 8.4, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 3.6, NA, NA, NA, 58.8,
133.84, 152.31, 143.76, 143.33, 160.07, 137.89, 100.31, 60, 46.2
), Debit_ruissellement_L_par_h = c(NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, 0.6, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), Debit_tranchee_L_par_h = c(NA,
3.6, 14.4, 13.2, 8.4, 8.4, 4.8, 6, 13.2, 12, 25.8, 37.8, 30.6,
12.6, 1.8, NA, NA, 38.23, 41.635, 48.88, 52.64, 38.585, 38.105,
43.9, 119.95, 138.45, 153.89, 169.28, 196.7, 237.98, 274.6, 291.89,
306.84, 323.44, 345.41, 366.63, 382.47, 395.16, 403.92, 410.03,
414.19, 417.02, 411.47, 406.63, 402, 396.43, 390.32, 384.07,
371.89, 352.9, 328.74, 307.61, 285.02, 266, 245.91, 226.43, 210.11,
194.89, 180.8, 168.1, 153.4, 146.25, 138.66, 133.08, 127.72,
123.59, 120.87, 116.84, 112.71, 109.01, 106.45, 106.17, 105.15,
105.34, 104.2, 100.74, 49.045, 48.2, 47.77, 46.735, 46.645, 46.535,
46.32, 45.69, 44.825, 43.56, 42.36, 40.895, 39.135, 9, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.6, NA,
NA, NA, NA, NA, 2.4, 0.6, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, 0.6, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, 1.8, 0.6, 0.6, 1.8, 2.4, 0.6, 1.2, 2.4, 3, 3, 3.6,
3, 3, 1.2, 1.8, NA, 1.2, 1.8, 1.8, 1.2, 0.6, 0.6, 1.2, NA, 0.6,
NA, NA, NA, 0.6, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, 0.6, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
    Debit_noue_L_par_h = c(NA, NA, NA, NA, NA, NA, NA, NA, NA,
    NA, NA, NA, NA, NA, NA, NA, 10.2, 11.4, 12, 12.6, 14.4, 15.6,
    15.6, 16.2, 17.4, 20.4, 22.2, 24, 25.2, 26.4, 28.8, 33.6,
    34.8, 36.6, 38.4, 42, 42, 45.6, 49.2, 49.8, 52.8, 58.8, 60.6,
    59.4, 57.6, 58.8, 64.2, 64.2, 65.4, 64.2, 63.6, 61.8, 62.4,
    62.4, 63, 62.4, 61.2, 58.2, 53.4, 49.8, 46.2, 42.6, 39, 36.6,
    34.2, 32.4, 30.6, 28.8, 27.6, 25.8, 25.2, 24, 23.4, 22.2,
    22.2, 22.2, 21.6, 21.6, 21, 21, 21, 21, 20.4, 21, 21, 20.4,
    20.4, 20.4, 20.4, 19.8, 19.2, 19.8, 18.6, 18.6, 18.6, 18.6,
    18, 18.6, 18, 18, 18, 18, 18, 17.4, 18, 17.4, 17.4, 17.4,
    17.4, 17.4, 17.4, 16.8, 17.4, 16.8, 16.8, 16.8, 16.8, 16.2,
    16.8, 16.2, 16.2, 16.2, 15.6, 16.2, 15.6, 15.6, 15.6, 15.6,
    15.6, 15, 15.6, 15.6, 15, 15, 15.6, 15, 15, 15, 15, 14.4,
    15, 14.4, 15, 14.4, 14.4, 14.4, 14.4, 14.4, 13.8, 14.4, 13.8,
    14.4, 13.8, 13.8, 13.8, 13.2, 13.8, 13.8, 13.2, 13.2, 13.2,
    13.2, 13.2, 12.6, 13.2, 12.6, 12.6, 12.6, 12, 12.6, 12, 12.6,
    12, 12, 11.4, 12, 11.4, 12, 11.4, 11.4, 11.4, 11.4, 10.8,
    11.4, 10.8, 10.8, 10.8, 10.2, 10.8, 10.2, 10.2, 10.2, 9.6,
    10.2, 9.6, 10.2, 9.6, 9, 9.6, 9.6, 9, 9, 9.6, 8.4, 9, 9,
    9, 8.4, 8.4, 8.4, 8.4, 8.4, 7.8, 8.4, 7.8, 8.4, 7.8, 7.8,
    7.8, 7.2, 7.8, 7.2, 7.2, 7.8, 7.2, 6.6, 7.2, 7.2, 7.2, 6.6,
    7.2, 6.6, 6.6, 7.2, 6.6, 6, 6.6, 6.6, 6, 6.6, 6, 6, 6.6,
    6, 6, 6, 5.4, 6, 6, 5.4, 5.4, 6, 5.4, 5.4, 5.4, 5.4, 5.4,
    4.8, 5.4, 4.8, 5.4, 4.8, 5.4, 4.8, 4.8, 4.8, 4.8, 4.8, 4.8,
    4.8, 4.8, 4.8, 4.8, 4.2, 4.8, 4.2, 4.8, 4.2, 4.2, 4.2, 4.2,
    4.2, 4.2, 4.2, 3.6, 4.2, 4.2, 3.6, 4.2, 3.6, 3.6, 3.6, 4.2,
    3.6, 3.6, 3, 3.6, 3.6, 3.6, 3, 3.6, 3, 3.6, 3, 3, 3, 3, 3,
    3, 3, 3, 3, 2.4, 3, 3, 2.4, 3, 2.4, 2.4, 3, 2.4, 2.4, 2.4,
    2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 1.8, 2.4, 2.4, 1.8, 2.4, 1.8,
    2.4, 1.8, 2.4, 1.8, 2.4, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 2.4,
    1.2, 1.8, 1.8, 1.8, 1.8, 1.8, 1.2, 1.8, 1.8, 1.2, 1.8, 1.2,
    1.8, 1.2, 1.2, 1.8, 1.2, 1.2, 1.8, 1.2, 1.2, 1.2, 1.2, 1.2,
    1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 0.6, 1.2, 1.2,
    1.2, 0.6, 1.2, 0.6, 1.2, 1.2, 0.6, 0.6, 1.2, 0.6, 1.2, 0.6,
    1.2, 0.6, 0.6, 1.2, 0.6, 0.6, 0.6, 0.6, 1.2, 0.6, 0.6, 0.6,
    0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
    0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6,
    0.6, 0.6, 0.6, 0.6, 0.6, NA, NA, NA, NA, NA, NA, NA, NA,
    NA, NA, NA, NA, NA, NA)), row.names = c(310379L, 312859L,
312860L, 312861L, 312862L, 312863L, 312864L, 312865L, 312866L,
312867L, 312868L, 312869L, 312870L, 312871L, 312872L, 312873L,
312874L, 312875L, 312876L, 312877L, 312878L, 312879L, 312880L,
312881L, 312882L, 312883L, 312884L, 312885L, 312886L, 312887L,
312888L, 312889L, 312890L, 312891L, 312892L, 312893L, 312894L,
312895L, 312896L, 312897L, 312898L, 312899L, 312900L, 312901L,
312902L, 312903L, 312904L, 312905L, 312906L, 312907L, 312908L,
312909L, 312910L, 312911L, 312912L, 312913L, 312914L, 312915L,
312916L, 312917L, 312918L, 312919L, 312920L, 312921L, 312922L,
312923L, 312924L, 312925L, 312926L, 312927L, 312928L, 312929L,
312930L, 312931L, 312932L, 312933L, 312934L, 312935L, 312936L,
312937L, 312938L, 312939L, 312940L, 312941L, 312942L, 312943L,
312944L, 312945L, 312946L, 312947L, 312948L, 312949L, 312950L,
312951L, 312952L, 312953L, 312954L, 312955L, 312956L, 312957L,
312958L, 312959L, 312960L, 312961L, 312962L, 312963L, 312964L,
312965L, 312966L, 312967L, 312968L, 312969L, 312970L, 312971L,
312972L, 312973L, 312974L, 312975L, 312976L, 312977L, 312978L,
312979L, 312980L, 312981L, 312982L, 312983L, 312984L, 312985L,
312986L, 312987L, 312988L, 312989L, 312990L, 312991L, 312992L,
312993L, 312994L, 312995L, 312996L, 312997L, 312998L, 312999L,
313000L, 313001L, 313002L, 313003L, 313004L, 313005L, 313006L,
313007L, 313008L, 313009L, 313010L, 313011L, 313012L, 313013L,
313014L, 313015L, 313016L, 313017L, 313018L, 313019L, 313020L,
313021L, 313022L, 313023L, 313024L, 313025L, 313026L, 313027L,
313028L, 313029L, 313030L, 313031L, 313032L, 313033L, 313034L,
313035L, 313036L, 313037L, 313038L, 313039L, 313040L, 313041L,
313042L, 313043L, 313044L, 313045L, 313046L, 313047L, 313048L,
313049L, 313050L, 313051L, 313052L, 313053L, 313054L, 313055L,
313056L, 313057L, 313058L, 313059L, 313060L, 313061L, 313062L,
313063L, 313064L, 313065L, 313066L, 313067L, 313068L, 313069L,
313070L, 313071L, 313072L, 313073L, 313074L, 313075L, 313076L,
313077L, 313078L, 313079L, 313080L, 313081L, 313082L, 313083L,
313084L, 313085L, 313086L, 313087L, 313088L, 313089L, 313090L,
313091L, 313092L, 313093L, 313094L, 313095L, 313096L, 313097L,
313098L, 313099L, 313100L, 313101L, 313102L, 313103L, 313104L,
313105L, 313106L, 313107L, 313108L, 313109L, 313110L, 313111L,
313112L, 313113L, 313114L, 313115L, 313116L, 313117L, 313118L,
313119L, 313120L, 313121L, 313122L, 313123L, 313124L, 313125L,
313126L, 313127L, 313128L, 313129L, 313130L, 313131L, 313132L,
313133L, 313134L, 313135L, 313136L, 313137L, 313138L, 313139L,
313140L, 313141L, 313142L, 313143L, 313144L, 313145L, 313146L,
313147L, 313148L, 313149L, 313150L, 313151L, 313152L, 313153L,
313154L, 313155L, 313156L, 313157L, 313158L, 313159L, 313160L,
313161L, 313162L, 313163L, 313164L, 313165L, 313166L, 313167L,
313168L, 313169L, 313170L, 313171L, 313172L, 313173L, 313174L,
313175L, 313176L, 313177L, 313178L, 313179L, 313180L, 313181L,
313182L, 313183L, 313184L, 313185L, 313186L, 313187L, 313188L,
313189L, 313190L, 313191L, 313192L, 313193L, 313194L, 313195L,
313196L, 313197L, 313198L, 313199L, 313200L, 313201L, 313202L,
313203L, 313204L, 313205L, 313206L, 313207L, 313208L, 313209L,
313210L, 313211L, 313212L, 313213L, 313214L, 313215L, 313216L,
313217L, 313218L, 313219L, 313220L, 313221L, 313222L, 313223L,
313224L, 313225L, 313226L, 313227L, 313228L, 313229L, 313230L,
313231L, 313232L, 313233L, 313234L, 313235L, 313236L, 313237L,
313238L, 313239L, 313240L, 313241L, 313242L, 313243L, 313244L,
313245L, 313246L, 313247L, 313248L, 313249L, 313250L, 313251L,
313252L, 313253L, 313254L, 313255L, 313256L, 313257L, 313258L,
313259L, 313260L, 313261L, 313262L, 313263L, 313264L, 313265L,
313266L, 313267L, 313268L, 313269L, 313270L, 313271L, 313272L,
313273L, 313275L, 313276L, 313277L, 313278L, 313280L, 313281L,
313282L, 313284L, 313285L, 313287L, 313289L, 313291L, 313294L,
313297L, 313300L, 313303L, 313308L, 313313L, 313321L, 313335L,
313680L, 313707L, 313710L, 313713L, 313714L, 313715L, 313716L,
313717L, 313718L, 313719L, 313720L, 313721L, 313722L, 313723L
), class = "data.frame")


J'ai insérer 450 lignes, ça me semble être le minimum pour comprendre le jeu de données (df=200 000 lignes) et surtout proposer un événement complet. (les NA correspondent a des 0)

Pour ce qui est du résultat attendu :
La finalité ici est de créer un fichier CSV pour chaque événement pluvieux (la fonction split() semble parfaite pour cela).

Ces événements correspondent chacun a : une pluie + aux débits de 5 ouvrages résultant de cette même pluie. Le début de chaque événement correspond donc au début de la pluie (soit la première ligne de chaque identifiant unique ID_pluie).

Si le début des événements pour chaque ID_pluie est correctement défini il me faut délimiter la fin de ces événements. Un événement pluvieux se termine quand les 5 ouvrages présentent un débit inférieur à 3 basculement par heure, soit 3*0.6 L/h sur 1h.

Pour cela, pour chaque mesure de chaque ouvrage il me faut faire la somme des débits sur l'heure précédente (01:55-02:54, 01:57-02:56, ...)
"et dans ce cas, comment gérer les bordures ?" --> Je ne vois pas de quoi on parle ici désolé.

Si les 5 ouvrages ne présentent pas de débit inférieur à 3 basculement sur 1h alors l’événement se termine lorsque l’événement suivant commence.

J'espère avoir été suffisamment clair et concis. Si d'autres éléments vous semble flou n'hésitez pas à me demander plus d'informations.

Merci,

Théo Boudard


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité