Bonjour,
J'ai un dataframe suivant
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
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
Partager