Мой запрос немного сложен.
Ниже представлены мои данные.
**S.no Date City Sales diff Indicator
1 1 1/1/2017 New York 2795 0 0
2 2 1/31/2017 New York 4248 1453 0
3 3 3/2/2017 New York 1330 -2918 1
4 4 4/1/2017 New York 3535 2205 0
5 5 5/1/2017 New York 4330 795 0
6 6 5/31/2017 New York 3360 -970 1
7 7 6/30/2017 New York 2238 -1122 1
8 8 1/1/2017 Paris 1451 0 0
9 9 1/31/2017 Paris 2339 888 0
10 10 3/2/2017 Paris 2029 -310 1
11 11 4/1/2017 Paris 1850 -179 1
12 12 5/1/2017 Paris 2800 950 1
13 13 5/31/2017 Paris 1986 -814 0
14 14 6/30/2017 Paris 3776 1790 0
15 15 1/1/2017 London 1646 0 0
16 16 1/31/2017 London 3575 1929 0
17 17 3/2/2017 London 1161 -2414 1
18 18 4/1/2017 London 1766 605 0
19 19 5/1/2017 London 2799 1033 0
20 20 5/31/2017 London 2761 -38 1
21 21 6/30/2017 London 1048 -1713 1**
diff - продажи за текущий месяц и продажи за последний месяц для каждой группы, а индикатор - когда разница отрицательная или положительная.
Я хочу вычислить логику для каждой группы, начиная с последнего ряда до первого ряда, или в обратном порядке.
Я хочу видеть в обратном порядке значение продаж, когда индикатор был равен 1. Сравнение, которое захватило значение продаж с пороговым значением (2000), для следующих шагов.
Ниже приведены два случая сравнения (Capture Sales v / s Threshold).
а. Если зафиксированное значение продаж, когда Показатель является первым 1 (начиная с последней строки до 1-й строки), меньше 2000, то сохраненные значения сохраняются в новом наборе данных для каждой группы.
б. Если зафиксированный объем продаж, когда Показатель является первым 1 (начиная с последней строки до 1-й строки), превышает 2000, пропустите эту строку Показатель = 1 и перейдите к следующей строке, где Показатель = 1, и повторите тот же шаг для pt.a) и pt. б)
Я хочу перенести результат в новый набор данных, который будет содержать по одной строке для каждого города, предоставляя мне «Продажную стоимость» для вышеупомянутой логики вместе с датой.
Я просто хочу понять, как я могу вызвать эту логику в R. Поможет ли функция rle?
Result:
S.no Date City Value(Sales)
3. 3/2/2017 New York 1330
11. 4/1/2017 Paris 1850
21. 6/30/2017 London 1048
Спасибо,
J * * тысяча двадцать-три