I have a df in R that I am trying to perform calculations on within a function.
I have computed change_price, change_quant, change_profit
What I am trying to do is select the old quantity normq if change_price and change_quant are both greater than 1 and select the new quantity NormQ if change_price > 1 & change_quant <= 1
So far I have tried several methods that dont seem to work properly, including:
  inData$norm_quant <- ifelse(inData$change_price >= 1 & inData$change_quant <= 1, inData$NormQ, inData$normq)
  inData$norm_quant <- ifelse(inData$change_price >= 1 && inData$change_quant <= 1, inData$NormQ, inData$normq)
  inData$norm_quant <- ifelse(inData$change_price >= 1 | inData$change_quant <= 1, inData$NormQ, inData$normq)
Ive tried so many other ways its pointless to list them all here. Point is, how can I correctly select the desired quantity based on the logical idea that price and quantity cannot both increase (so select the old quantity if they do but keep the new price)?
I know there is another thread on this subject, but its conclusions were not helpful to me so I am reposting this question.
> head(opt1)
   sensitivity      PRODUCT  Revenue Quantity     Profit       cost norm_price  norm_quant norm_prof change_prof change_quant change_price    final_rev final_profit
1:           1 PRODUCT10000   563.04     2672   362.4716 0.31567063  0.8861575 0.402326322 0.7057182   0.5041516    0.3252316    1.3541611 0.3565244903 0.2295218855
2:           1 PRODUCT10001  9291.51    73978  6733.7684 0.31664415  1.1502735 0.402326322 0.4348806   0.8172296    0.7712255    1.0432302 0.4627852903 0.3353910144
3:           1 PRODUCT10002 15015.24    26048 13071.6165 0.13677461  1.1000000 0.092918066 0.4284446   5.0127018    4.7870351    1.0410391 0.1022098726 0.0895010400
4:           1 PRODUCT10003   620.54      112   565.3049 0.08194787  1.1000000 0.213661313 0.4528317   2.5270022    2.0818090    1.1948142 0.2350274446 0.2175183551
5:           1 PRODUCT10004  2154.00     1000  1605.0000 0.48488348  1.3000000 0.000464435 0.2933202 445.5299526  774.8137110    0.6833333 0.0006037655 0.0003785686
6:           1 PRODUCT10005  1390.00    10000  1028.2500 0.27736785  1.2000000 0.001318247 0.3711992 357.1610035  305.1980502    1.1259494 0.0015818960 0.0012162568
In the above example, lines 3, 4, and 6 should return the old quantity.
