Я хотел бы определить отсутствующие наблюдения, которые предполагают ошибки очистки / данных.
Мой фрейм данных состоит из множества учетных записей за многие годы.Вот следующие правила:
- Счета могут быть созданы или удалены .В этих случаях сумма составляет либо $ 0, либо NA.Такие наблюдения (вероятно) не являются результатом неверных данных.
- Счета прерваны NA или $ 0, вероятно, являются результатом неверных данных или ошибок очистки.
В приведенных ниже данных счета AE показывают сумму за 2001-2004 годы.
df <- tribble(
~account, ~"2001", ~"2002", ~"2003", ~"2004",
"Account.A", 100, 90, 87, 80, #<Good
"Account.B", 0, 20, 30, 33, #<Good
"Account.C", 50, 55, 0, 0, #<Good
"Account.D", 200, 210, NA, 210, #<Bad
"Account.E", 150, 0, 212, 211) #<Bad
Счета A, B, C показывают хорошие данные:
- Учетная запись A отображает непрерывные данные
- Учетная запись B отображает учетную запись, созданную в 2002 году.
- Учетная запись C отображает учетную запись, срок действия которой истек в 2003 году и оставалась нулевой в дальнейшем.
Учетные записи D и E показывают неверные данные:
- Учетная запись D показывает учетную запись, заблокированную в 2003 г.
- Учетная запись E показывает учетную запись, прерванную в 2002 г.
Моя цель - определить прерванные линии (D, E) и пометить их.
Мне бы хотелось решение, которое можно было бы обобщить на многие годы и тысячи учетных записей.