У меня есть ситуация, когда для каждого уникального наблюдения casenum я хотел бы выполнить разные запросы и арифметические операции между различными наблюдениями «кода» для этого «casenum» (см. Ниже). Например, для casenum 1234567 я хотел бы вычесть данные для кода 0200 - код 0234 или 531 - 53. Пожалуйста, имейте в виду, что в этом наборе данных тысячи наблюдений. Есть ли простой способ сделать это или сделать сравнение строк с конкретным.
Обратите внимание, что casenum и code являются символьными переменными, а data - числовой переменной
Вот пример того, как структурирован набор данных:
casenum code data
1234567 0123 4597
1234567 0234 53
1234567 0100 789
1234567 0200 531
1234567 0300 354
1111112 0123 79
1111112 0234 78
1111112 0100 77
1111112 0200 7954
1111112 0300 35
Вот логика, хотя, вероятно, синтаксически неверна в том, что я пытаюсь сделать.
Для наблюдений кода, где casenum одинаков, в этих casenum
Я хотел бы определить, если данные для кода 0234 + данные для кода 0100 - данные для кода 0123 ne данные для кода 0200 затем newvariable = 'YES'
Другими словами, я хотел бы, чтобы он проверил, если 53 + 789 - 4597, не 531. После этого и других подобных тестов запускается внутри casenum 1234567, я бы хотел, чтобы он перешел на следующий casenum и запустил те же тесты для этого casenum.
Имейте в виду, что в этом наборе данных содержатся сотни тысяч наблюдений.