Bonjour,

J'ai un dataframe suivant

Nom : DF.In.png
Affichages : 55
Taille : 4,6 Ko

avec
- Product = Identifiant produit
- G1 = Groupe 1 ( composé de "RC1" et "RC2" )
- G2 = Groupe 2 ( composé de "IN1" et "IN2" )
- MAX.G1 = Montant Maximum du Groupe 1 ( Montant Max "RC1" = 18, Montant Max "RC2" = 8 )
- MAX.G2 = Montant Maximum du Groupe 2 ( Montant Max "IN1" = 20, Montant Max "RC2" = 60 )
- Amount = Montant original associé à "Product"
- CumSum.G1 = Somme cumulative associé à chaque groupe 1
- CumSum.G2 = Somme cumulative associé à chaque groupe 2

et je souhaiterais obtenir le résultat suivant

Nom : DF.Out.png
Affichages : 53
Taille : 4,7 Ko

Je souhaiterais avoir le montant Maximum associé à chaque produit , et ce en fonction des sommes Maximum associé à chaque groupe

Ainsi dans le cas du product "X4"
- Quantité Originale = 6
- Quantite Souhaité = 5
car
MAX G1[ RC2 ] = 8
MAX G2 [IN1] = 20
Somme cumulé précédente pour RC2 = 3
Somme cumulé précédente pour IN1 = 13
donc Quantité souhaité = pmin(8-3, 20-13) = 5

Avec les fonctions developpés via "dplyr" ou "data.table", en passant par la fonction "group_by" ou " by = list() , je ne parviens pas au résultat escompté.

Je crains de devoir passer par un "custom function" mais je ne sais pas comment y parvenir.
Pourriez vous s'il vous plait m'apporter votre aide.

Cordialement