У меня есть набор данных по розничным транзакциям, который выглядит следующим образом:
TRANSID GROSS AMNT TRANSROWTYPE
123 50 Z
123 20 A
123 30 A
126 90 Z
126 20 A
126 30 A
126 20 A
… .. .
Где,
• TRANDIS
- это идентификатор транзакции
• GROSS AMNT
- это полная сумма транзакции строка
• TRANSROWTYPE
- тип строки для транзакции.
Все транзакции имеют 2 типа строк
- Тип
A
: подробные строки транзакции. Транзакция может иметь 1 или несколько строк типа A
. - Тип
Z
: строка заголовка для транзакции. Транзакция может иметь только 1 тип строки Z
.
В идеале для TRANSID
сумма GROSS AMNT
s в строках типа A
должна равняться GROSS AMNT
в строке типа Z
.
В примере это верно для TRANSID=123
, но не для TRANSID=126
.
Мой запрос состоит в том, как отделить TRANSIDs
, которые имеют
GROSS AMNTs
в типе A
rows = GROSS AMNT
s в строке типа Z
от тех, где эти два не равны ?
Мне особенно интересно найти решение, используя dplyr
Заранее большое спасибо.